.class public abstract Lcom/glympse/platform/common/Helpers;
.super Ljava/lang/Object;
.source "Helpers.java"


# static fields
.field public static final DEBUG:Z = false

.field public static final DEBUG_MENU:Z = false

.field public static final DEGREES_TO_RADIANS:D = 0.017453292519943295

.field public static final DUMP_LOCATIONS:Z = false

.field public static final DUMP_PACKETS:Z = false

.field public static final EARTH_RADIUS_FEET:D = 2.09256463572663E7

.field public static final EARTH_RADIUS_KM:D = 6378.137

.field public static final EARTH_RADIUS_METERS:D = 6378137.0

.field public static final EARTH_RADIUS_MILES:D = 3963.190590429304

.field public static final EARTH_RADIUS_NAUTICAL_MILES:D = 3443.918463616011

.field private static final ENABLE_DEBUG:Z = false

.field private static final ENABLE_DUMP_LOCATIONS:Z = false

.field private static final ENABLE_DUMP_PACKETS:Z = false

.field public static final ENABLE_LOG_UPLOADING:Z = false

.field public static final FEET_TO_METERS:D = 0.3048

.field public static final KNOTS_TO_KPH:D = 1.852

.field public static final KNOTS_TO_METERS_PER_SEC:D = 0.514444444

.field public static final KNOTS_TO_MPH:D = 1.15077945

.field public static final KPH_TO_METERS_PER_SEC:D = 0.277777778

.field public static final METERS_PER_SEC_TO_KNOTS:D = 1.94384449

.field public static final METERS_PER_SEC_TO_KPH:D = 3.6

.field public static final METERS_PER_SEC_TO_MPH:D = 2.23693629

.field public static final METERS_TO_FEET:D = 3.2808399

.field public static final METERS_TO_KM:D = 0.001

.field public static final METERS_TO_MILES:D = 6.21371192E-4

.field public static final METERS_TO_NAUTICAL_MILES:D = 5.39956803E-4

.field public static final MILES_TO_FEET:D = 5280.0

.field public static final MILES_TO_METERS:D = 1609.344

.field public static final MPH_TO_METERS_PER_SEC:D = 0.44704

.field public static final MS_PER_DAY:J = 0x5265c00L

.field public static final MS_PER_HOUR:J = 0x36ee80L

.field public static final MS_PER_MINUTE:J = 0xea60L

.field public static final MS_PER_SECOND:J = 0x3e8L

.field public static final M_PI:D = 3.141592653589793

.field public static final RADIANS_TO_DEGREES:D = 57.29577951308232

.field public static final RELEASE:Z = true

.field public static final ms_acBase32Encode:[C

.field public static final ms_acBase64Encode:[C

.field public static final ms_acHex:[C

.field public static final ms_anBase32Decode:[I

.field public static final ms_astrBearings:[Ljava/lang/String;


# direct methods
.method static constructor <clinit>()V
    .locals 8

    .prologue
    const/16 v7, 0xa

    const/16 v6, 0x1b

    const/16 v5, 0x10

    const/4 v4, 0x1

    const/4 v3, -0x1

    .line 668
    const/16 v0, 0x4b

    new-array v0, v0, [I

    .line 669
    aput v4, v0, v4

    const/4 v1, 0x2

    const/4 v2, 0x2

    aput v2, v0, v1

    const/4 v1, 0x3

    const/4 v2, 0x3

    aput v2, v0, v1

    const/4 v1, 0x4

    const/4 v2, 0x4

    aput v2, v0, v1

    const/4 v1, 0x5

    const/4 v2, 0x5

    aput v2, v0, v1

    const/4 v1, 0x6

    const/4 v2, 0x6

    aput v2, v0, v1

    const/4 v1, 0x7

    const/4 v2, 0x7

    aput v2, v0, v1

    const/16 v1, 0x8

    const/16 v2, 0x8

    aput v2, v0, v1

    const/16 v1, 0x9

    const/16 v2, 0x9

    aput v2, v0, v1

    .line 670
    aput v3, v0, v7

    const/16 v1, 0xb

    aput v3, v0, v1

    const/16 v1, 0xc

    aput v3, v0, v1

    const/16 v1, 0xd

    aput v3, v0, v1

    const/16 v1, 0xe

    aput v3, v0, v1

    const/16 v1, 0xf

    aput v3, v0, v1

    aput v3, v0, v5

    const/16 v1, 0x11

    .line 671
    aput v7, v0, v1

    const/16 v1, 0x12

    const/16 v2, 0xb

    aput v2, v0, v1

    const/16 v1, 0x13

    const/16 v2, 0xc

    aput v2, v0, v1

    const/16 v1, 0x14

    const/16 v2, 0xd

    aput v2, v0, v1

    const/16 v1, 0x15

    const/16 v2, 0xe

    aput v2, v0, v1

    const/16 v1, 0x16

    const/16 v2, 0xf

    aput v2, v0, v1

    const/16 v1, 0x17

    aput v5, v0, v1

    const/16 v1, 0x18

    const/16 v2, 0x11

    aput v2, v0, v1

    const/16 v1, 0x19

    aput v4, v0, v1

    const/16 v1, 0x1a

    .line 672
    const/16 v2, 0x12

    aput v2, v0, v1

    const/16 v1, 0x13

    aput v1, v0, v6

    const/16 v1, 0x1c

    aput v4, v0, v1

    const/16 v1, 0x1d

    const/16 v2, 0x14

    aput v2, v0, v1

    const/16 v1, 0x1e

    const/16 v2, 0x15

    aput v2, v0, v1

    const/16 v1, 0x20

    const/16 v2, 0x16

    aput v2, v0, v1

    const/16 v1, 0x21

    const/16 v2, 0x17

    aput v2, v0, v1

    const/16 v1, 0x22

    const/16 v2, 0x18

    aput v2, v0, v1

    const/16 v1, 0x23

    .line 673
    const/16 v2, 0x19

    aput v2, v0, v1

    const/16 v1, 0x24

    const/16 v2, 0x1a

    aput v2, v0, v1

    const/16 v1, 0x25

    aput v6, v0, v1

    const/16 v1, 0x26

    aput v6, v0, v1

    const/16 v1, 0x27

    const/16 v2, 0x1c

    aput v2, v0, v1

    const/16 v1, 0x28

    const/16 v2, 0x1d

    aput v2, v0, v1

    const/16 v1, 0x29

    const/16 v2, 0x1e

    aput v2, v0, v1

    const/16 v1, 0x2a

    const/16 v2, 0x1f

    aput v2, v0, v1

    const/16 v1, 0x2b

    .line 674
    aput v3, v0, v1

    const/16 v1, 0x2c

    aput v3, v0, v1

    const/16 v1, 0x2d

    aput v3, v0, v1

    const/16 v1, 0x2e

    aput v3, v0, v1

    const/16 v1, 0x2f

    aput v3, v0, v1

    const/16 v1, 0x30

    aput v3, v0, v1

    const/16 v1, 0x31

    .line 675
    aput v7, v0, v1

    const/16 v1, 0x32

    const/16 v2, 0xb

    aput v2, v0, v1

    const/16 v1, 0x33

    const/16 v2, 0xc

    aput v2, v0, v1

    const/16 v1, 0x34

    const/16 v2, 0xd

    aput v2, v0, v1

    const/16 v1, 0x35

    const/16 v2, 0xe

    aput v2, v0, v1

    const/16 v1, 0x36

    const/16 v2, 0xf

    aput v2, v0, v1

    const/16 v1, 0x37

    aput v5, v0, v1

    const/16 v1, 0x38

    const/16 v2, 0x11

    aput v2, v0, v1

    const/16 v1, 0x39

    aput v4, v0, v1

    const/16 v1, 0x3a

    .line 676
    const/16 v2, 0x12

    aput v2, v0, v1

    const/16 v1, 0x3b

    const/16 v2, 0x13

    aput v2, v0, v1

    const/16 v1, 0x3c

    aput v4, v0, v1

    const/16 v1, 0x3d

    const/16 v2, 0x14

    aput v2, v0, v1

    const/16 v1, 0x3e

    const/16 v2, 0x15

    aput v2, v0, v1

    const/16 v1, 0x40

    const/16 v2, 0x16

    aput v2, v0, v1

    const/16 v1, 0x41

    const/16 v2, 0x17

    aput v2, v0, v1

    const/16 v1, 0x42

    const/16 v2, 0x18

    aput v2, v0, v1

    const/16 v1, 0x43

    .line 677
    const/16 v2, 0x19

    aput v2, v0, v1

    const/16 v1, 0x44

    const/16 v2, 0x1a

    aput v2, v0, v1

    const/16 v1, 0x45

    aput v6, v0, v1

    const/16 v1, 0x46

    aput v6, v0, v1

    const/16 v1, 0x47

    const/16 v2, 0x1c

    aput v2, v0, v1

    const/16 v1, 0x48

    const/16 v2, 0x1d

    aput v2, v0, v1

    const/16 v1, 0x49

    const/16 v2, 0x1e

    aput v2, v0, v1

    const/16 v1, 0x4a

    const/16 v2, 0x1f

    aput v2, v0, v1

    .line 667
    sput-object v0, Lcom/glympse/platform/common/Helpers;->ms_anBase32Decode:[I

    .line 700
    const/16 v0, 0x20

    new-array v0, v0, [C

    fill-array-data v0, :array_0

    .line 699
    sput-object v0, Lcom/glympse/platform/common/Helpers;->ms_acBase32Encode:[C

    .line 750
    const/16 v0, 0x40

    new-array v0, v0, [C

    fill-array-data v0, :array_1

    .line 749
    sput-object v0, Lcom/glympse/platform/common/Helpers;->ms_acBase64Encode:[C

    .line 791
    new-array v0, v5, [Ljava/lang/String;

    const/4 v1, 0x0

    .line 792
    const-string v2, "N"

    aput-object v2, v0, v1

    const-string v1, "NNE"

    aput-object v1, v0, v4

    const/4 v1, 0x2

    const-string v2, "NE"

    aput-object v2, v0, v1

    const/4 v1, 0x3

    const-string v2, "ENE"

    aput-object v2, v0, v1

    const/4 v1, 0x4

    const-string v2, "E"

    aput-object v2, v0, v1

    const/4 v1, 0x5

    const-string v2, "ESE"

    aput-object v2, v0, v1

    const/4 v1, 0x6

    const-string v2, "SE"

    aput-object v2, v0, v1

    const/4 v1, 0x7

    const-string v2, "SSE"

    aput-object v2, v0, v1

    const/16 v1, 0x8

    const-string v2, "S"

    aput-object v2, v0, v1

    const/16 v1, 0x9

    const-string v2, "SSW"

    aput-object v2, v0, v1

    const-string v1, "SW"

    aput-object v1, v0, v7

    const/16 v1, 0xb

    const-string v2, "WSW"

    aput-object v2, v0, v1

    const/16 v1, 0xc

    const-string v2, "W"

    aput-object v2, v0, v1

    const/16 v1, 0xd

    const-string v2, "WNW"

    aput-object v2, v0, v1

    const/16 v1, 0xe

    const-string v2, "NW"

    aput-object v2, v0, v1

    const/16 v1, 0xf

    const-string v2, "NNW"

    aput-object v2, v0, v1

    .line 790
    sput-object v0, Lcom/glympse/platform/common/Helpers;->ms_astrBearings:[Ljava/lang/String;

    .line 821
    new-array v0, v5, [C

    fill-array-data v0, :array_2

    .line 820
    sput-object v0, Lcom/glympse/platform/common/Helpers;->ms_acHex:[C

    .line 19
    return-void

    .line 700
    nop

    :array_0
    .array-data 0x2
        0x30t 0x0t
        0x31t 0x0t
        0x32t 0x0t
        0x33t 0x0t
        0x34t 0x0t
        0x35t 0x0t
        0x36t 0x0t
        0x37t 0x0t
        0x38t 0x0t
        0x39t 0x0t
        0x41t 0x0t
        0x42t 0x0t
        0x43t 0x0t
        0x44t 0x0t
        0x45t 0x0t
        0x46t 0x0t
        0x47t 0x0t
        0x48t 0x0t
        0x4at 0x0t
        0x4bt 0x0t
        0x4dt 0x0t
        0x4et 0x0t
        0x50t 0x0t
        0x51t 0x0t
        0x52t 0x0t
        0x53t 0x0t
        0x54t 0x0t
        0x56t 0x0t
        0x57t 0x0t
        0x58t 0x0t
        0x59t 0x0t
        0x5at 0x0t
    .end array-data

    .line 750
    :array_1
    .array-data 0x2
        0x41t 0x0t
        0x42t 0x0t
        0x43t 0x0t
        0x44t 0x0t
        0x45t 0x0t
        0x46t 0x0t
        0x47t 0x0t
        0x48t 0x0t
        0x49t 0x0t
        0x4at 0x0t
        0x4bt 0x0t
        0x4ct 0x0t
        0x4dt 0x0t
        0x4et 0x0t
        0x4ft 0x0t
        0x50t 0x0t
        0x51t 0x0t
        0x52t 0x0t
        0x53t 0x0t
        0x54t 0x0t
        0x55t 0x0t
        0x56t 0x0t
        0x57t 0x0t
        0x58t 0x0t
        0x59t 0x0t
        0x5at 0x0t
        0x61t 0x0t
        0x62t 0x0t
        0x63t 0x0t
        0x64t 0x0t
        0x65t 0x0t
        0x66t 0x0t
        0x67t 0x0t
        0x68t 0x0t
        0x69t 0x0t
        0x6at 0x0t
        0x6bt 0x0t
        0x6ct 0x0t
        0x6dt 0x0t
        0x6et 0x0t
        0x6ft 0x0t
        0x70t 0x0t
        0x71t 0x0t
        0x72t 0x0t
        0x73t 0x0t
        0x74t 0x0t
        0x75t 0x0t
        0x76t 0x0t
        0x77t 0x0t
        0x78t 0x0t
        0x79t 0x0t
        0x7at 0x0t
        0x30t 0x0t
        0x31t 0x0t
        0x32t 0x0t
        0x33t 0x0t
        0x34t 0x0t
        0x35t 0x0t
        0x36t 0x0t
        0x37t 0x0t
        0x38t 0x0t
        0x39t 0x0t
        0x2bt 0x0t
        0x2ft 0x0t
    .end array-data

    .line 821
    :array_2
    .array-data 0x2
        0x30t 0x0t
        0x31t 0x0t
        0x32t 0x0t
        0x33t 0x0t
        0x34t 0x0t
        0x35t 0x0t
        0x36t 0x0t
        0x37t 0x0t
        0x38t 0x0t
        0x39t 0x0t
        0x41t 0x0t
        0x42t 0x0t
        0x43t 0x0t
        0x44t 0x0t
        0x45t 0x0t
        0x46t 0x0t
    .end array-data
.end method

.method public constructor <init>()V
    .locals 0

    .prologue
    .line 19
    invoke-direct {p0}, Ljava/lang/Object;-><init>()V

    return-void
.end method

.method public static AppendField(Ljava/lang/StringBuffer;ZDDI)V
    .locals 1
    .parameter "strbld"
    .parameter "fPrev"
    .parameter "dPrev"
    .parameter "dCur"
    .parameter "nDigits"

    .prologue
    .line 1406
    const/16 v0, 0x2c

    invoke-virtual {p0, v0}, Ljava/lang/StringBuffer;->append(C)Ljava/lang/StringBuffer;

    .line 1409
    invoke-static {p4, p5}, Ljava/lang/Double;->isNaN(D)Z

    move-result v0

    if-eqz v0, :cond_2

    .line 1414
    if-eqz p1, :cond_0

    invoke-static {p2, p3}, Ljava/lang/Double;->isNaN(D)Z

    move-result v0

    if-nez v0, :cond_1

    .line 1416
    :cond_0
    const/16 v0, 0x3f

    invoke-virtual {p0, v0}, Ljava/lang/StringBuffer;->append(C)Ljava/lang/StringBuffer;

    .line 1429
    :cond_1
    :goto_0
    return-void

    .line 1423
    :cond_2
    if-eqz p1, :cond_3

    cmpl-double v0, p2, p4

    if-eqz v0, :cond_1

    .line 1428
    :cond_3
    invoke-static {p4, p5, p6}, Lcom/glympse/platform/common/Helpers;->DoubleToTrimmedStr(DI)Ljava/lang/String;

    move-result-object v0

    invoke-virtual {p0, v0}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;

    goto :goto_0
.end method

.method public static AppendField(Ljava/lang/StringBuffer;ZFFI)V
    .locals 2
    .parameter "strbld"
    .parameter "fPrev"
    .parameter "fltPrev"
    .parameter "fltCur"
    .parameter "nDigits"

    .prologue
    .line 1378
    const/16 v0, 0x2c

    invoke-virtual {p0, v0}, Ljava/lang/StringBuffer;->append(C)Ljava/lang/StringBuffer;

    .line 1381
    invoke-static {p3}, Ljava/lang/Float;->isNaN(F)Z

    move-result v0

    if-eqz v0, :cond_2

    .line 1386
    if-eqz p1, :cond_0

    invoke-static {p2}, Ljava/lang/Float;->isNaN(F)Z

    move-result v0

    if-nez v0, :cond_1

    .line 1388
    :cond_0
    const/16 v0, 0x3f

    invoke-virtual {p0, v0}, Ljava/lang/StringBuffer;->append(C)Ljava/lang/StringBuffer;

    .line 1401
    :cond_1
    :goto_0
    return-void

    .line 1395
    :cond_2
    if-eqz p1, :cond_3

    cmpl-float v0, p2, p3

    if-eqz v0, :cond_1

    .line 1400
    :cond_3
    float-to-double v0, p3

    invoke-static {v0, v1, p4}, Lcom/glympse/platform/common/Helpers;->DoubleToTrimmedStr(DI)Ljava/lang/String;

    move-result-object v0

    invoke-virtual {p0, v0}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;

    goto :goto_0
.end method

.method public static AppendField(Ljava/lang/StringBuffer;ZII)V
    .locals 2
    .parameter "strbld"
    .parameter "fPrev"
    .parameter "nPrev"
    .parameter "nCur"

    .prologue
    const/high16 v1, -0x8000

    .line 1434
    const/16 v0, 0x2c

    invoke-virtual {p0, v0}, Ljava/lang/StringBuffer;->append(C)Ljava/lang/StringBuffer;

    .line 1437
    if-ne p3, v1, :cond_2

    .line 1442
    if-eqz p1, :cond_0

    if-eq p2, v1, :cond_1

    .line 1444
    :cond_0
    const/16 v0, 0x3f

    invoke-virtual {p0, v0}, Ljava/lang/StringBuffer;->append(C)Ljava/lang/StringBuffer;

    .line 1457
    :cond_1
    :goto_0
    return-void

    .line 1451
    :cond_2
    if-eqz p1, :cond_3

    if-eq p2, p3, :cond_1

    .line 1456
    :cond_3
    invoke-virtual {p0, p3}, Ljava/lang/StringBuffer;->append(I)Ljava/lang/StringBuffer;

    goto :goto_0
.end method

.method public static Base32ToLong(Ljava/lang/String;)J
    .locals 11
    .parameter "str"

    .prologue
    const/16 v10, 0x30

    .line 641
    const-wide/16 v2, 0x0

    .line 643
    .local v2, lResult:J
    invoke-virtual {p0}, Ljava/lang/String;->toCharArray()[C

    move-result-object v0

    .line 644
    .local v0, aChars:[C
    const/4 v4, 0x0

    .local v4, nChar:I
    :goto_0
    array-length v6, v0

    if-lt v4, v6, :cond_0

    move-wide v6, v2

    .line 665
    :goto_1
    return-wide v6

    .line 646
    :cond_0
    aget-char v1, v0, v4

    .line 649
    .local v1, cChar:C
    const/16 v6, 0x2d

    if-eq v6, v1, :cond_3

    .line 652
    if-lt v1, v10, :cond_1

    const/16 v6, 0x7a

    if-gt v1, v6, :cond_1

    sget-object v6, Lcom/glympse/platform/common/Helpers;->ms_anBase32Decode:[I

    sub-int v7, v1, v10

    aget v6, v6, v7

    move v5, v6

    .line 655
    .local v5, nCur:I
    :goto_2
    if-gez v5, :cond_2

    .line 657
    const-wide/16 v6, 0x0

    goto :goto_1

    .line 652
    .end local v5           #nCur:I
    :cond_1
    const/4 v6, -0x1

    move v5, v6

    goto :goto_2

    .line 661
    .restart local v5       #nCur:I
    :cond_2
    const/4 v6, 0x5

    shl-long v6, v2, v6

    int-to-long v8, v5

    add-long v2, v6, v8

    .line 644
    .end local v5           #nCur:I
    :cond_3
    add-int/lit8 v4, v4, 0x1

    goto :goto_0
.end method

.method public static Base64Encode(Ljava/lang/String;)Ljava/lang/String;
    .locals 1
    .parameter "str"

    .prologue
    .line 710
    invoke-virtual {p0}, Ljava/lang/String;->getBytes()[B

    move-result-object v0

    invoke-static {v0}, Lcom/glympse/platform/common/Helpers;->Base64Encode([B)Ljava/lang/String;

    move-result-object v0

    return-object v0
.end method

.method public static Base64Encode([B)Ljava/lang/String;
    .locals 6
    .parameter "ab"

    .prologue
    .line 716
    new-instance v2, Ljava/lang/StringBuffer;

    array-length v4, p0

    mul-int/lit8 v4, v4, 0x4

    div-int/lit8 v4, v4, 0x3

    add-int/lit8 v4, v4, 0x3

    invoke-direct {v2, v4}, Ljava/lang/StringBuffer;-><init>(I)V

    .line 718
    .local v2, strbuf:Ljava/lang/StringBuffer;
    const/4 v0, 0x0

    .local v0, i:I
    :goto_0
    array-length v4, p0

    if-lt v0, v4, :cond_0

    .line 747
    invoke-virtual {v2}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String;

    move-result-object v4

    return-object v4

    .line 720
    :cond_0
    array-length v4, p0

    sub-int v1, v4, v0

    .line 722
    .local v1, nBytes:I
    const/4 v4, 0x3

    if-lt v1, v4, :cond_1

    .line 724
    aget-byte v4, p0, v0

    and-int/lit16 v4, v4, 0xff

    shl-int/lit8 v4, v4, 0x10

    add-int/lit8 v5, v0, 0x1

    aget-byte v5, p0, v5

    and-int/lit16 v5, v5, 0xff

    shl-int/lit8 v5, v5, 0x8

    or-int/2addr v4, v5

    add-int/lit8 v5, v0, 0x2

    aget-byte v5, p0, v5

    and-int/lit16 v5, v5, 0xff

    or-int v3, v4, v5

    .line 725
    .local v3, x:I
    sget-object v4, Lcom/glympse/platform/common/Helpers;->ms_acBase64Encode:[C

    shr-int/lit8 v5, v3, 0x12

    and-int/lit8 v5, v5, 0x3f

    aget-char v4, v4, v5

    invoke-virtual {v2, v4}, Ljava/lang/StringBuffer;->append(C)Ljava/lang/StringBuffer;

    .line 726
    sget-object v4, Lcom/glympse/platform/common/Helpers;->ms_acBase64Encode:[C

    shr-int/lit8 v5, v3, 0xc

    and-int/lit8 v5, v5, 0x3f

    aget-char v4, v4, v5

    invoke-virtual {v2, v4}, Ljava/lang/StringBuffer;->append(C)Ljava/lang/StringBuffer;

    .line 727
    sget-object v4, Lcom/glympse/platform/common/Helpers;->ms_acBase64Encode:[C

    shr-int/lit8 v5, v3, 0x6

    and-int/lit8 v5, v5, 0x3f

    aget-char v4, v4, v5

    invoke-virtual {v2, v4}, Ljava/lang/StringBuffer;->append(C)Ljava/lang/StringBuffer;

    .line 728
    sget-object v4, Lcom/glympse/platform/common/Helpers;->ms_acBase64Encode:[C

    and-int/lit8 v5, v3, 0x3f

    aget-char v4, v4, v5

    invoke-virtual {v2, v4}, Ljava/lang/StringBuffer;->append(C)Ljava/lang/StringBuffer;

    .line 718
    :goto_1
    add-int/lit8 v0, v0, 0x3

    goto :goto_0

    .line 730
    .end local v3           #x:I
    :cond_1
    const/4 v4, 0x2

    if-ne v1, v4, :cond_2

    .line 732
    aget-byte v4, p0, v0

    and-int/lit16 v4, v4, 0xff

    shl-int/lit8 v4, v4, 0x10

    add-int/lit8 v5, v0, 0x1

    aget-byte v5, p0, v5

    and-int/lit16 v5, v5, 0xff

    shl-int/lit8 v5, v5, 0x8

    or-int v3, v4, v5

    .line 733
    .restart local v3       #x:I
    sget-object v4, Lcom/glympse/platform/common/Helpers;->ms_acBase64Encode:[C

    shr-int/lit8 v5, v3, 0x12

    and-int/lit8 v5, v5, 0x3f

    aget-char v4, v4, v5

    invoke-virtual {v2, v4}, Ljava/lang/StringBuffer;->append(C)Ljava/lang/StringBuffer;

    .line 734
    sget-object v4, Lcom/glympse/platform/common/Helpers;->ms_acBase64Encode:[C

    shr-int/lit8 v5, v3, 0xc

    and-int/lit8 v5, v5, 0x3f

    aget-char v4, v4, v5

    invoke-virtual {v2, v4}, Ljava/lang/StringBuffer;->append(C)Ljava/lang/StringBuffer;

    .line 735
    sget-object v4, Lcom/glympse/platform/common/Helpers;->ms_acBase64Encode:[C

    shr-int/lit8 v5, v3, 0x6

    and-int/lit8 v5, v5, 0x3f

    aget-char v4, v4, v5

    invoke-virtual {v2, v4}, Ljava/lang/StringBuffer;->append(C)Ljava/lang/StringBuffer;

    .line 736
    const/16 v4, 0x3d

    invoke-virtual {v2, v4}, Ljava/lang/StringBuffer;->append(C)Ljava/lang/StringBuffer;

    goto :goto_1

    .line 740
    .end local v3           #x:I
    :cond_2
    aget-byte v4, p0, v0

    and-int/lit16 v4, v4, 0xff

    shl-int/lit8 v3, v4, 0x10

    .line 741
    .restart local v3       #x:I
    sget-object v4, Lcom/glympse/platform/common/Helpers;->ms_acBase64Encode:[C

    shr-int/lit8 v5, v3, 0x12

    and-int/lit8 v5, v5, 0x3f

    aget-char v4, v4, v5

    invoke-virtual {v2, v4}, Ljava/lang/StringBuffer;->append(C)Ljava/lang/StringBuffer;

    .line 742
    sget-object v4, Lcom/glympse/platform/common/Helpers;->ms_acBase64Encode:[C

    shr-int/lit8 v5, v3, 0xc

    and-int/lit8 v5, v5, 0x3f

    aget-char v4, v4, v5

    invoke-virtual {v2, v4}, Ljava/lang/StringBuffer;->append(C)Ljava/lang/StringBuffer;

    .line 743
    const-string v4, "=="

    invoke-virtual {v2, v4}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;

    goto :goto_1
.end method

.method public static BearingToStr(F)Ljava/lang/String;
    .locals 5
    .parameter "fltHeading"

    .prologue
    .line 788
    sget-object v0, Lcom/glympse/platform/common/Helpers;->ms_astrBearings:[Ljava/lang/String;

    float-to-double v1, p0

    const-wide v3, 0x4076800000000000L

    add-double/2addr v1, v3

    const-wide v3, 0x4026800000000000L

    add-double/2addr v1, v3

    const-wide v3, 0x4036800000000000L

    div-double/2addr v1, v3

    double-to-int v1, v1

    rem-int/lit8 v1, v1, 0x10

    aget-object v0, v0, v1

    return-object v0
.end method

.method public static ComputeDistance(DDDD)D
    .locals 4
    .parameter "dLatRads1"
    .parameter "dLngRads1"
    .parameter "dLatRads2"
    .parameter "dLngRads2"

    .prologue
    .line 610
    invoke-static {p0, p1}, Ljava/lang/Math;->sin(D)D

    move-result-wide v0

    invoke-static {p4, p5}, Ljava/lang/Math;->sin(D)D

    move-result-wide v2

    mul-double/2addr v0, v2

    .line 611
    invoke-static {p0, p1}, Ljava/lang/Math;->cos(D)D

    move-result-wide p0

    .end local p0
    invoke-static {p4, p5}, Ljava/lang/Math;->cos(D)D

    move-result-wide p4

    .end local p4
    mul-double/2addr p0, p4

    sub-double/2addr p2, p6

    invoke-static {p2, p3}, Ljava/lang/Math;->cos(D)D

    .end local p2
    move-result-wide p2

    mul-double/2addr p0, p2

    .line 610
    add-double/2addr p0, v0

    .line 617
    .local p0, dTemp:D
    const-wide/high16 p2, -0x4010

    cmpg-double p2, p0, p2

    if-gez p2, :cond_0

    .line 619
    const-wide/high16 p0, -0x4010

    .line 621
    :cond_0
    const-wide/high16 p2, 0x3ff0

    cmpl-double p2, p0, p2

    if-lez p2, :cond_1

    .line 623
    const-wide/high16 p0, 0x3ff0

    .line 627
    :cond_1
    invoke-static {p0, p1}, Lcom/glympse/platform/Platform;->acos(D)D

    move-result-wide p0

    .line 630
    .local p0, dDistRads:D
    invoke-static {p0, p1}, Ljava/lang/Double;->isNaN(D)Z

    move-result p2

    if-eqz p2, :cond_2

    .line 632
    const-wide/16 p0, 0x0

    .line 635
    :cond_2
    return-wide p0
.end method

.method public static DecodeProtocolString(Lcom/glympse/platform/common/CharArrayPointer;ILjava/lang/StringBuffer;)I
    .locals 7
    .parameter "capSrc"
    .parameter "nSrcLen"
    .parameter "strbldDst"

    .prologue
    .line 883
    const/4 v0, -0x1

    if-ne v0, p1, :cond_0

    .line 885
    const p1, 0x7fffffff

    .line 889
    :cond_0
    if-eqz p0, :cond_1

    invoke-virtual {p0}, Lcom/glympse/platform/common/CharArrayPointer;->IsValid()Z

    move-result v0

    if-eqz v0, :cond_1

    if-gez p1, :cond_2

    .line 891
    :cond_1
    const/4 p0, -0x1

    .line 1072
    .end local p0
    :goto_0
    return p0

    .line 894
    .restart local p0
    :cond_2
    const/4 v1, 0x0

    .line 897
    .local v1, nResultLen:I
    const/4 v0, 0x0

    .line 898
    .local v0, fQuoted:Z
    const/16 v2, 0x22

    iget-char v3, p0, Lcom/glympse/platform/common/CharArrayPointer;->m_cCur:C

    if-ne v2, v3, :cond_12

    if-lez p1, :cond_12

    .line 901
    const/4 v0, 0x1

    .line 904
    invoke-virtual {p0}, Lcom/glympse/platform/common/CharArrayPointer;->Inc()V

    .line 905
    add-int/lit8 p1, p1, -0x1

    move v3, v0

    .end local v0           #fQuoted:Z
    .local v3, fQuoted:Z
    move v5, v1

    .line 909
    .end local v1           #nResultLen:I
    .local v5, nResultLen:I
    :goto_1
    invoke-virtual {p0}, Lcom/glympse/platform/common/CharArrayPointer;->IsLineEnd()Z

    move-result v0

    if-nez v0, :cond_3

    if-gtz p1, :cond_4

    :cond_3
    move p0, v5

    .line 1072
    goto :goto_0

    .line 911
    :cond_4
    const/16 v0, 0x3f

    .line 914
    .local v0, cChar:C
    const/16 v1, 0x5c

    iget-char v2, p0, Lcom/glympse/platform/common/CharArrayPointer;->m_cCur:C

    if-ne v1, v2, :cond_11

    .line 917
    invoke-virtual {p0}, Lcom/glympse/platform/common/CharArrayPointer;->Inc()V

    .line 918
    add-int/lit8 p1, p1, -0x1

    .line 921
    invoke-virtual {p0}, Lcom/glympse/platform/common/CharArrayPointer;->IsLineEnd()Z

    move-result v1

    if-nez v1, :cond_10

    if-lez p1, :cond_10

    .line 924
    iget-char v2, p0, Lcom/glympse/platform/common/CharArrayPointer;->m_cCur:C

    .line 925
    .local v2, cCur:C
    const/4 v1, 0x0

    .line 926
    .local v1, cControl:C
    sparse-switch v2, :sswitch_data_0

    .line 960
    :goto_2
    if-eqz v1, :cond_7

    .line 963
    move v0, v1

    .line 966
    invoke-virtual {p0}, Lcom/glympse/platform/common/CharArrayPointer;->Inc()V

    .line 967
    add-int/lit8 p1, p1, -0x1

    .line 1061
    .end local v1           #cControl:C
    .end local v2           #cCur:C
    :cond_5
    :goto_3
    add-int/lit8 v1, v5, 0x1

    .line 1064
    .end local v5           #nResultLen:I
    .local v1, nResultLen:I
    if-eqz p2, :cond_6

    .line 1067
    invoke-virtual {p2, v0}, Ljava/lang/StringBuffer;->append(C)Ljava/lang/StringBuffer;

    :cond_6
    move v5, v1

    .end local v1           #nResultLen:I
    .restart local v5       #nResultLen:I
    goto :goto_1

    .line 929
    .local v1, cControl:C
    .restart local v2       #cCur:C
    :sswitch_0
    const/16 v1, 0x22

    .line 930
    goto :goto_2

    .line 932
    :sswitch_1
    const/16 v1, 0x5c

    .line 933
    goto :goto_2

    .line 935
    :sswitch_2
    const/16 v1, 0x2f

    .line 936
    goto :goto_2

    .line 939
    :sswitch_3
    const/16 v1, 0x8

    .line 940
    goto :goto_2

    .line 943
    :sswitch_4
    const/16 v1, 0xc

    .line 944
    goto :goto_2

    .line 947
    :sswitch_5
    const/16 v1, 0xa

    .line 948
    goto :goto_2

    .line 951
    :sswitch_6
    const/16 v1, 0xd

    .line 952
    goto :goto_2

    .line 955
    :sswitch_7
    const/16 v1, 0x9

    goto :goto_2

    .line 971
    :cond_7
    const/16 v1, 0x75

    if-eq v1, v2, :cond_8

    .end local v1           #cControl:C
    const/16 v1, 0x55

    if-ne v1, v2, :cond_f

    .line 974
    :cond_8
    invoke-virtual {p0}, Lcom/glympse/platform/common/CharArrayPointer;->Inc()V

    .line 975
    add-int/lit8 p1, p1, -0x1

    .line 979
    const/4 v4, 0x0

    .local v4, nValue:I
    const/4 v1, 0x0

    .local v1, nDigits:I
    move v6, v4

    .end local v4           #nValue:I
    .local v6, nValue:I
    move v4, v1

    .end local v1           #nDigits:I
    .local v4, nDigits:I
    move v1, v2

    .line 980
    .end local v2           #cCur:C
    .local v1, cCur:C
    :goto_4
    const/4 v2, 0x4

    if-ge v4, v2, :cond_9

    invoke-virtual {p0}, Lcom/glympse/platform/common/CharArrayPointer;->IsLineEnd()Z

    move-result v2

    if-nez v2, :cond_9

    if-gtz p1, :cond_a

    .line 1004
    :cond_9
    const/4 v1, 0x4

    if-ne v4, v1, :cond_e

    .line 1006
    .end local v1           #cCur:C
    int-to-char v0, v6

    goto :goto_3

    .line 983
    .restart local v1       #cCur:C
    :cond_a
    iget-char v1, p0, Lcom/glympse/platform/common/CharArrayPointer;->m_cCur:C

    .line 984
    const/16 v2, 0x30

    if-lt v1, v2, :cond_b

    const/16 v2, 0x39

    if-gt v1, v2, :cond_b

    const/16 v2, 0x30

    sub-int v2, v1, v2

    .line 990
    .local v2, nDigit:I
    :goto_5
    if-ltz v2, :cond_9

    .line 996
    shl-int/lit8 v6, v6, 0x4

    add-int/2addr v6, v2

    .line 999
    invoke-virtual {p0}, Lcom/glympse/platform/common/CharArrayPointer;->Inc()V

    .line 1000
    add-int/lit8 p1, p1, -0x1

    .line 980
    add-int/lit8 v2, v4, 0x1

    .end local v4           #nDigits:I
    .local v2, nDigits:I
    move v4, v2

    .end local v2           #nDigits:I
    .restart local v4       #nDigits:I
    goto :goto_4

    .line 985
    :cond_b
    const/16 v2, 0x41

    if-lt v1, v2, :cond_c

    const/16 v2, 0x46

    if-gt v1, v2, :cond_c

    const/16 v2, 0x41

    sub-int v2, v1, v2

    add-int/lit8 v2, v2, 0xa

    goto :goto_5

    .line 986
    :cond_c
    const/16 v2, 0x61

    if-lt v1, v2, :cond_d

    const/16 v2, 0x66

    if-gt v1, v2, :cond_d

    const/16 v2, 0x61

    sub-int v2, v1, v2

    add-int/lit8 v2, v2, 0xa

    goto :goto_5

    .line 987
    :cond_d
    const/4 v2, -0x1

    goto :goto_5

    .line 1010
    .end local v1           #cCur:C
    :cond_e
    const-string v1, "DecodeProtocolString: Did not find 4 digits within \\u escape sequence."

    invoke-static {v1}, Lcom/glympse/platform/common/Helpers;->Log(Ljava/lang/String;)V

    goto/16 :goto_3

    .line 1018
    .end local v4           #nDigits:I
    .end local v6           #nValue:I
    .local v2, cCur:C
    :cond_f
    move v0, v2

    .line 1019
    const-string v1, "DecodeProtocolString: Unknown escape sequence found."

    invoke-static {v1}, Lcom/glympse/platform/common/Helpers;->Log(Ljava/lang/String;)V

    .line 1022
    invoke-virtual {p0}, Lcom/glympse/platform/common/CharArrayPointer;->Inc()V

    .line 1023
    add-int/lit8 p1, p1, -0x1

    goto/16 :goto_3

    .line 1028
    .end local v2           #cCur:C
    :cond_10
    const-string v1, "DecodeProtocolString: String ends in single \'\\\'\n"

    invoke-static {v1}, Lcom/glympse/platform/common/Helpers;->Log(Ljava/lang/String;)V

    goto/16 :goto_3

    .line 1036
    :cond_11
    iget-char v0, p0, Lcom/glympse/platform/common/CharArrayPointer;->m_cCur:C

    .line 1039
    invoke-virtual {p0}, Lcom/glympse/platform/common/CharArrayPointer;->Inc()V

    .line 1040
    add-int/lit8 p1, p1, -0x1

    .line 1043
    const/16 v1, 0x22

    if-ne v1, v0, :cond_5

    .line 1047
    if-nez v3, :cond_3

    .line 1055
    const-string v1, "DecodeProtocolString: Non-escaped quote found in string.\n"

    invoke-static {v1}, Lcom/glympse/platform/common/Helpers;->Log(Ljava/lang/String;)V

    goto/16 :goto_3

    .end local v3           #fQuoted:Z
    .end local v5           #nResultLen:I
    .local v0, fQuoted:Z
    .local v1, nResultLen:I
    :cond_12
    move v3, v0

    .end local v0           #fQuoted:Z
    .restart local v3       #fQuoted:Z
    move v5, v1

    .end local v1           #nResultLen:I
    .restart local v5       #nResultLen:I
    goto/16 :goto_1

    .line 926
    nop

    :sswitch_data_0
    .sparse-switch
        0x22 -> :sswitch_0
        0x2f -> :sswitch_2
        0x42 -> :sswitch_3
        0x46 -> :sswitch_4
        0x4e -> :sswitch_5
        0x52 -> :sswitch_6
        0x54 -> :sswitch_7
        0x5c -> :sswitch_1
        0x62 -> :sswitch_3
        0x66 -> :sswitch_4
        0x6e -> :sswitch_5
        0x72 -> :sswitch_6
        0x74 -> :sswitch_7
    .end sparse-switch
.end method

.method public static DecodeProtocolString(Lcom/glympse/platform/common/CharArrayPointer;)Ljava/lang/StringBuffer;
    .locals 5
    .parameter "capSrc"

    .prologue
    const/4 v4, 0x0

    const/4 v3, -0x1

    .line 1079
    invoke-virtual {p0}, Lcom/glympse/platform/common/CharArrayPointer;->GetCurPosition()I

    move-result v1

    .line 1082
    .local v1, nOffsetBase:I
    invoke-static {p0, v3, v4}, Lcom/glympse/platform/common/Helpers;->DecodeProtocolString(Lcom/glympse/platform/common/CharArrayPointer;ILjava/lang/StringBuffer;)I

    move-result v0

    .line 1083
    .local v0, nDstLen:I
    if-gez v0, :cond_0

    move-object v3, v4

    .line 1098
    :goto_0
    return-object v3

    .line 1089
    :cond_0
    new-instance v2, Ljava/lang/StringBuffer;

    invoke-direct {v2, v0}, Ljava/lang/StringBuffer;-><init>(I)V

    .line 1093
    .local v2, strbldDst:Ljava/lang/StringBuffer;
    invoke-virtual {p0, v1}, Lcom/glympse/platform/common/CharArrayPointer;->SetCurPosition(I)V

    .line 1096
    invoke-static {p0, v3, v2}, Lcom/glympse/platform/common/Helpers;->DecodeProtocolString(Lcom/glympse/platform/common/CharArrayPointer;ILjava/lang/StringBuffer;)I

    move-object v3, v2

    .line 1098
    goto :goto_0
.end method

.method public static DistanceToStr(F)Ljava/lang/String;
    .locals 4
    .parameter "fltDistanceToMeters"

    .prologue
    .line 379
    invoke-static {}, Lcom/glympse/platform/Platform;->instance()Lcom/glympse/platform/Platform;

    move-result-object v0

    if-eqz v0, :cond_3

    invoke-static {}, Lcom/glympse/platform/Platform;->instance()Lcom/glympse/platform/Platform;

    move-result-object v0

    iget-object v0, v0, Lcom/glympse/platform/Platform;->m_oConfig:Lcom/glympse/platform/Config;

    if-eqz v0, :cond_3

    invoke-static {}, Lcom/glympse/platform/Platform;->instance()Lcom/glympse/platform/Platform;

    move-result-object v0

    iget-object v0, v0, Lcom/glympse/platform/Platform;->m_oConfig:Lcom/glympse/platform/Config;

    invoke-virtual {v0}, Lcom/glympse/platform/Config;->IsMetric()Z

    move-result v0

    if-eqz v0, :cond_3

    .line 382
    float-to-double v0, p0

    const-wide v2, 0x408f400000000000L

    cmpg-double v0, v0, v2

    if-gez v0, :cond_0

    .line 384
    new-instance v0, Ljava/lang/StringBuilder;

    float-to-double v1, p0

    const/4 p0, 0x0

    invoke-static {v1, v2, p0}, Lcom/glympse/platform/common/Helpers;->DoubleToStr(DI)Ljava/lang/String;

    .end local p0
    move-result-object p0

    invoke-static {p0}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object p0

    invoke-direct {v0, p0}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    const-string p0, " m"

    invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object p0

    invoke-virtual {p0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object p0

    .line 428
    :goto_0
    return-object p0

    .line 390
    .restart local p0
    :cond_0
    float-to-double v0, p0

    const-wide v2, 0x3f50624dd2f1a9fcL

    mul-double/2addr v0, v2

    .line 391
    .local v0, dKilometers:D
    const-wide/high16 v2, 0x4059

    cmpl-double p0, v0, v2

    if-ltz p0, :cond_1

    .line 393
    .end local p0
    new-instance p0, Ljava/lang/StringBuilder;

    const/4 v2, 0x0

    invoke-static {v0, v1, v2}, Lcom/glympse/platform/common/Helpers;->DoubleToStr(DI)Ljava/lang/String;

    move-result-object v0

    .end local v0           #dKilometers:D
    invoke-static {v0}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v0

    invoke-direct {p0, v0}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    const-string v0, " km"

    invoke-virtual {p0, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object p0

    invoke-virtual {p0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object p0

    goto :goto_0

    .line 395
    .restart local v0       #dKilometers:D
    :cond_1
    const-wide/high16 v2, 0x4024

    cmpl-double p0, v0, v2

    if-ltz p0, :cond_2

    .line 397
    new-instance p0, Ljava/lang/StringBuilder;

    const/4 v2, 0x1

    invoke-static {v0, v1, v2}, Lcom/glympse/platform/common/Helpers;->DoubleToStr(DI)Ljava/lang/String;

    move-result-object v0

    .end local v0           #dKilometers:D
    invoke-static {v0}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v0

    invoke-direct {p0, v0}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    const-string v0, " km"

    invoke-virtual {p0, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object p0

    invoke-virtual {p0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object p0

    goto :goto_0

    .line 401
    .restart local v0       #dKilometers:D
    :cond_2
    new-instance p0, Ljava/lang/StringBuilder;

    const/4 v2, 0x2

    invoke-static {v0, v1, v2}, Lcom/glympse/platform/common/Helpers;->DoubleToStr(DI)Ljava/lang/String;

    move-result-object v0

    .end local v0           #dKilometers:D
    invoke-static {v0}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v0

    invoke-direct {p0, v0}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    const-string v0, " km"

    invoke-virtual {p0, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object p0

    invoke-virtual {p0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object p0

    goto :goto_0

    .line 408
    .restart local p0
    :cond_3
    float-to-double v0, p0

    const-wide v2, 0x400a3f28fd4f4b98L

    mul-double/2addr v0, v2

    .line 409
    .local v0, dFeet:D
    const-wide v2, 0x408f400000000000L

    cmpg-double v2, v0, v2

    if-gez v2, :cond_4

    .line 411
    new-instance p0, Ljava/lang/StringBuilder;

    .end local p0
    const/4 v2, 0x0

    invoke-static {v0, v1, v2}, Lcom/glympse/platform/common/Helpers;->DoubleToStr(DI)Ljava/lang/String;

    move-result-object v0

    .end local v0           #dFeet:D
    invoke-static {v0}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v0

    invoke-direct {p0, v0}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    const-string v0, " ft"

    invoke-virtual {p0, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object p0

    invoke-virtual {p0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object p0

    goto/16 :goto_0

    .line 417
    .restart local v0       #dFeet:D
    .restart local p0
    :cond_4
    float-to-double v0, p0

    const-wide v2, 0x3f445c7079626fb0L

    mul-double/2addr v0, v2

    .line 418
    .local v0, dMiles:D
    const-wide/high16 v2, 0x4059

    cmpl-double p0, v0, v2

    if-ltz p0, :cond_5

    .line 420
    .end local p0
    new-instance p0, Ljava/lang/StringBuilder;

    const/4 v2, 0x0

    invoke-static {v0, v1, v2}, Lcom/glympse/platform/common/Helpers;->DoubleToStr(DI)Ljava/lang/String;

    move-result-object v0

    .end local v0           #dMiles:D
    invoke-static {v0}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v0

    invoke-direct {p0, v0}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    const-string v0, " mi"

    invoke-virtual {p0, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object p0

    invoke-virtual {p0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object p0

    goto/16 :goto_0

    .line 422
    .restart local v0       #dMiles:D
    :cond_5
    const-wide/high16 v2, 0x4024

    cmpl-double p0, v0, v2

    if-ltz p0, :cond_6

    .line 424
    new-instance p0, Ljava/lang/StringBuilder;

    const/4 v2, 0x1

    invoke-static {v0, v1, v2}, Lcom/glympse/platform/common/Helpers;->DoubleToStr(DI)Ljava/lang/String;

    move-result-object v0

    .end local v0           #dMiles:D
    invoke-static {v0}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v0

    invoke-direct {p0, v0}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    const-string v0, " mi"

    invoke-virtual {p0, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object p0

    invoke-virtual {p0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object p0

    goto/16 :goto_0

    .line 428
    .restart local v0       #dMiles:D
    :cond_6
    new-instance p0, Ljava/lang/StringBuilder;

    const/4 v2, 0x2

    invoke-static {v0, v1, v2}, Lcom/glympse/platform/common/Helpers;->DoubleToStr(DI)Ljava/lang/String;

    move-result-object v0

    .end local v0           #dMiles:D
    invoke-static {v0}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v0

    invoke-direct {p0, v0}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    const-string v0, " mi"

    invoke-virtual {p0, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object p0

    invoke-virtual {p0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object p0

    goto/16 :goto_0
.end method

.method public static DoubleToStr(DI)Ljava/lang/String;
    .locals 9
    .parameter "dValue"
    .parameter "nDigits"

    .prologue
    const/4 v8, 0x0

    .line 444
    const-wide/16 v6, 0x0

    cmpg-double v6, p0, v6

    if-gez v6, :cond_3

    const/4 v6, 0x1

    move v0, v6

    .line 445
    .local v0, fNegative:Z
    :goto_0
    if-eqz v0, :cond_0

    .line 447
    neg-double p0, p0

    .line 451
    :cond_0
    if-lez p2, :cond_1

    .line 454
    const/4 v3, 0x0

    .local v3, nDigit:I
    :goto_1
    if-lt v3, p2, :cond_4

    .line 461
    .end local v3           #nDigit:I
    :cond_1
    const-wide/high16 v6, 0x3fe0

    add-double/2addr v6, p0

    double-to-long v1, v6

    .line 464
    .local v1, lValue:J
    const-wide/high16 v6, -0x8000

    cmp-long v6, v6, v1

    if-eqz v6, :cond_2

    const-wide v6, 0x7fffffffffffffffL

    cmp-long v6, v6, v1

    if-nez v6, :cond_5

    .line 466
    :cond_2
    const-string v6, "error"

    .line 494
    :goto_2
    return-object v6

    .end local v0           #fNegative:Z
    .end local v1           #lValue:J
    :cond_3
    move v0, v8

    .line 444
    goto :goto_0

    .line 456
    .restart local v0       #fNegative:Z
    .restart local v3       #nDigit:I
    :cond_4
    const-wide/high16 v6, 0x4024

    mul-double/2addr p0, v6

    .line 454
    add-int/lit8 v3, v3, 0x1

    goto :goto_1

    .line 470
    .end local v3           #nDigit:I
    .restart local v1       #lValue:J
    :cond_5
    invoke-static {v1, v2}, Ljava/lang/Long;->toString(J)Ljava/lang/String;

    move-result-object v5

    .line 473
    .local v5, strValue:Ljava/lang/String;
    if-lez p2, :cond_6

    .line 477
    :goto_3
    invoke-virtual {v5}, Ljava/lang/String;->length()I

    move-result v6

    if-lt v6, p2, :cond_7

    .line 483
    invoke-virtual {v5}, Ljava/lang/String;->length()I

    move-result v4

    .line 484
    .local v4, nLength:I
    if-le v4, p2, :cond_8

    .line 486
    new-instance v6, Ljava/lang/StringBuilder;

    sub-int v7, v4, p2

    invoke-static {v5, v8, v7}, Lcom/glympse/platform/common/Helpers;->SubstrEnd(Ljava/lang/String;II)Ljava/lang/String;

    move-result-object v7

    invoke-static {v7}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v7

    invoke-direct {v6, v7}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    const/16 v7, 0x2e

    invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;

    move-result-object v6

    sub-int v7, v4, p2

    invoke-static {v5, v7}, Lcom/glympse/platform/common/Helpers;->Substr(Ljava/lang/String;I)Ljava/lang/String;

    move-result-object v7

    invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v6

    invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v5

    .line 494
    .end local v4           #nLength:I
    :cond_6
    :goto_4
    if-eqz v0, :cond_9

    new-instance v6, Ljava/lang/StringBuilder;

    const/16 v7, 0x2d

    invoke-static {v7}, Ljava/lang/String;->valueOf(C)Ljava/lang/String;

    move-result-object v7

    invoke-direct {v6, v7}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    invoke-virtual {v6, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v6

    invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v6

    goto :goto_2

    .line 479
    :cond_7
    new-instance v6, Ljava/lang/StringBuilder;

    const/16 v7, 0x30

    invoke-static {v7}, Ljava/lang/String;->valueOf(C)Ljava/lang/String;

    move-result-object v7

    invoke-direct {v6, v7}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    invoke-virtual {v6, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v6

    invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v5

    goto :goto_3

    .line 490
    .restart local v4       #nLength:I
    :cond_8
    new-instance v6, Ljava/lang/StringBuilder;

    const-string v7, "0."

    invoke-direct {v6, v7}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    invoke-virtual {v6, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v6

    invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v5

    goto :goto_4

    .end local v4           #nLength:I
    :cond_9
    move-object v6, v5

    .line 494
    goto :goto_2
.end method

.method public static DoubleToTrimmedStr(DI)Ljava/lang/String;
    .locals 6
    .parameter "dValue"
    .parameter "nDigits"

    .prologue
    .line 505
    const-wide/16 v0, 0x0

    cmpg-double v0, p0, v0

    if-gez v0, :cond_3

    const/4 v0, 0x1

    .line 506
    .local v0, fNegative:Z
    :goto_0
    if-eqz v0, :cond_0

    .line 508
    neg-double p0, p0

    .line 512
    :cond_0
    if-lez p2, :cond_1

    .line 515
    const/4 v1, 0x0

    .local v1, nDigit:I
    :goto_1
    if-lt v1, p2, :cond_4

    .line 522
    .end local v1           #nDigit:I
    :cond_1
    const-wide/high16 v1, 0x3fe0

    add-double/2addr p0, v1

    double-to-long p0, p0

    .line 525
    .local p0, lValue:J
    const-wide/high16 v1, -0x8000

    cmp-long v1, v1, p0

    if-eqz v1, :cond_2

    const-wide v1, 0x7fffffffffffffffL

    cmp-long v1, v1, p0

    if-nez v1, :cond_6

    .line 527
    :cond_2
    const-string v0, "error"

    .line 562
    .end local v0           #fNegative:Z
    :goto_2
    return-object v0

    .line 505
    .local p0, dValue:D
    :cond_3
    const/4 v0, 0x0

    goto :goto_0

    .line 517
    .restart local v0       #fNegative:Z
    .restart local v1       #nDigit:I
    :cond_4
    const-wide/high16 v2, 0x4024

    mul-double/2addr p0, v2

    .line 515
    add-int/lit8 v1, v1, 0x1

    goto :goto_1

    .line 533
    .end local v1           #nDigit:I
    .local p0, lValue:J
    :cond_5
    const-wide/16 v1, 0xa

    div-long/2addr p0, v1

    .line 534
    add-int/lit8 p2, p2, -0x1

    .line 531
    :cond_6
    if-lez p2, :cond_7

    const-wide/16 v1, 0x0

    const-wide/16 v3, 0xa

    rem-long v3, p0, v3

    cmp-long v1, v1, v3

    if-eqz v1, :cond_5

    .line 538
    :cond_7
    invoke-static {p0, p1}, Ljava/lang/Long;->toString(J)Ljava/lang/String;

    move-result-object v1

    .line 541
    .local v1, strValue:Ljava/lang/String;
    if-lez p2, :cond_8

    move-object v2, v1

    .line 545
    .end local v1           #strValue:Ljava/lang/String;
    .local v2, strValue:Ljava/lang/String;
    :goto_3
    invoke-virtual {v2}, Ljava/lang/String;->length()I

    move-result v1

    if-lt v1, p2, :cond_9

    .line 551
    invoke-virtual {v2}, Ljava/lang/String;->length()I

    move-result v1

    .line 552
    .local v1, nLength:I
    if-le v1, p2, :cond_a

    .line 554
    new-instance v3, Ljava/lang/StringBuilder;

    const/4 v4, 0x0

    sub-int v5, v1, p2

    invoke-static {v2, v4, v5}, Lcom/glympse/platform/common/Helpers;->SubstrEnd(Ljava/lang/String;II)Ljava/lang/String;

    move-result-object v4

    invoke-static {v4}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v4

    invoke-direct {v3, v4}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    const/16 v4, 0x2e

    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;

    move-result-object v3

    sub-int/2addr v1, p2

    invoke-static {v2, v1}, Lcom/glympse/platform/common/Helpers;->Substr(Ljava/lang/String;I)Ljava/lang/String;

    .end local v1           #nLength:I
    move-result-object v1

    invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v1

    invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v1

    .line 562
    .end local v2           #strValue:Ljava/lang/String;
    .local v1, strValue:Ljava/lang/String;
    :cond_8
    :goto_4
    if-eqz v0, :cond_b

    new-instance v0, Ljava/lang/StringBuilder;

    .end local v0           #fNegative:Z
    const/16 v2, 0x2d

    invoke-static {v2}, Ljava/lang/String;->valueOf(C)Ljava/lang/String;

    move-result-object v2

    invoke-direct {v0, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    goto :goto_2

    .line 547
    .end local v1           #strValue:Ljava/lang/String;
    .restart local v0       #fNegative:Z
    .restart local v2       #strValue:Ljava/lang/String;
    :cond_9
    new-instance v1, Ljava/lang/StringBuilder;

    const/16 v3, 0x30

    invoke-static {v3}, Ljava/lang/String;->valueOf(C)Ljava/lang/String;

    move-result-object v3

    invoke-direct {v1, v3}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v1

    invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v1

    .end local v2           #strValue:Ljava/lang/String;
    .restart local v1       #strValue:Ljava/lang/String;
    move-object v2, v1

    .end local v1           #strValue:Ljava/lang/String;
    .restart local v2       #strValue:Ljava/lang/String;
    goto :goto_3

    .line 558
    .local v1, nLength:I
    :cond_a
    new-instance v1, Ljava/lang/StringBuilder;

    .end local v1           #nLength:I
    const/16 v3, 0x2e

    invoke-static {v3}, Ljava/lang/String;->valueOf(C)Ljava/lang/String;

    move-result-object v3

    invoke-direct {v1, v3}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v1

    invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v1

    .end local v2           #strValue:Ljava/lang/String;
    .local v1, strValue:Ljava/lang/String;
    goto :goto_4

    :cond_b
    move-object v0, v1

    .line 562
    goto/16 :goto_2
.end method

.method public static DumpHex([BII)V
    .locals 5
    .parameter "ab"
    .parameter "nOffset"
    .parameter "nLength"

    .prologue
    .line 1525
    new-instance v2, Ljava/lang/StringBuffer;

    invoke-direct {v2}, Ljava/lang/StringBuffer;-><init>()V

    .line 1528
    .local v2, strbuf:Ljava/lang/StringBuffer;
    const/4 v1, 0x0

    .local v1, i:I
    :goto_0
    if-lt v1, p2, :cond_1

    .line 1540
    :goto_1
    invoke-virtual {v2}, Ljava/lang/StringBuffer;->length()I

    move-result v3

    if-lez v3, :cond_0

    .line 1542
    invoke-virtual {v2}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String;

    move-result-object v3

    invoke-static {v3}, Lcom/glympse/platform/common/Helpers;->Log(Ljava/lang/String;)V

    .line 1544
    :cond_0
    return-void

    .line 1530
    :cond_1
    add-int v3, v1, p1

    :try_start_0
    aget-byte v0, p0, v3

    .line 1531
    .local v0, b:B
    sget-object v3, Lcom/glympse/platform/common/Helpers;->ms_acHex:[C

    shr-int/lit8 v4, v0, 0x4

    and-int/lit8 v4, v4, 0xf

    aget-char v3, v3, v4

    invoke-virtual {v2, v3}, Ljava/lang/StringBuffer;->append(C)Ljava/lang/StringBuffer;

    .line 1532
    sget-object v3, Lcom/glympse/platform/common/Helpers;->ms_acHex:[C

    and-int/lit8 v4, v0, 0xf

    aget-char v3, v3, v4

    invoke-virtual {v2, v3}, Ljava/lang/StringBuffer;->append(C)Ljava/lang/StringBuffer;

    .line 1533
    add-int/lit8 v3, v1, 0x1

    rem-int/lit8 v3, v3, 0x19

    if-eqz v3, :cond_2

    add-int/lit8 v3, v1, 0x1

    if-lt v3, p2, :cond_3

    :cond_2
    const/16 v3, 0xa

    :goto_2
    invoke-virtual {v2, v3}, Ljava/lang/StringBuffer;->append(C)Ljava/lang/StringBuffer;
    :try_end_0
    .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0

    .line 1528
    add-int/lit8 v1, v1, 0x1

    goto :goto_0

    .line 1533
    :cond_3
    const/16 v3, 0x20

    goto :goto_2

    .line 1536
    .end local v0           #b:B
    :catch_0
    move-exception v3

    goto :goto_1
.end method

.method public static DurationToLongStr(JZ)Ljava/lang/String;
    .locals 8
    .parameter "lDuration"
    .parameter "fSeconds"

    .prologue
    const/4 v7, 0x1

    .line 309
    const-wide/16 v5, 0x0

    cmp-long v5, p0, v5

    if-gez v5, :cond_0

    .line 311
    const-wide/16 p0, 0x0

    .line 314
    :cond_0
    const-wide/32 v5, 0x5265c00

    div-long v5, p0, v5

    long-to-int v0, v5

    .line 315
    .local v0, nDays:I
    const-wide/32 v5, 0x36ee80

    div-long v5, p0, v5

    long-to-int v5, v5

    rem-int/lit8 v1, v5, 0x18

    .line 316
    .local v1, nHours:I
    const-wide/32 v5, 0xea60

    div-long v5, p0, v5

    long-to-int v5, v5

    rem-int/lit8 v2, v5, 0x3c

    .line 317
    .local v2, nMinutes:I
    const-wide/16 v5, 0x3e8

    div-long v5, p0, v5

    long-to-int v5, v5

    rem-int/lit8 v3, v5, 0x3c

    .line 319
    .local v3, nSeconds:I
    const-string v4, ""

    .line 322
    .local v4, str:Ljava/lang/String;
    if-lez v0, :cond_1

    .line 324
    new-instance v5, Ljava/lang/StringBuilder;

    invoke-static {v4}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v6

    invoke-direct {v5, v6}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    invoke-virtual {v5, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    move-result-object v5

    const-string v6, " day"

    invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v5

    if-ne v7, v0, :cond_7

    const-string v6, ", "

    :goto_0
    invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v5

    invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v4

    .line 328
    :cond_1
    if-gtz v0, :cond_2

    if-lez v1, :cond_3

    .line 330
    :cond_2
    new-instance v5, Ljava/lang/StringBuilder;

    invoke-static {v4}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v6

    invoke-direct {v5, v6}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    invoke-virtual {v5, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    move-result-object v5

    const-string v6, " hour"

    invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v5

    if-ne v7, v1, :cond_8

    const-string v6, ", "

    :goto_1
    invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v5

    invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v4

    .line 334
    :cond_3
    if-gtz v0, :cond_4

    if-gtz v1, :cond_4

    if-gtz v2, :cond_4

    if-nez p2, :cond_5

    .line 336
    :cond_4
    new-instance v5, Ljava/lang/StringBuilder;

    invoke-static {v4}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v6

    invoke-direct {v5, v6}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    invoke-virtual {v5, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    move-result-object v5

    const-string v6, " minute"

    invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v5

    if-ne v7, v2, :cond_9

    const-string v6, ""

    :goto_2
    invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v5

    if-eqz p2, :cond_a

    const-string v6, ", "

    :goto_3
    invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v5

    invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v4

    .line 340
    :cond_5
    if-eqz p2, :cond_6

    .line 342
    new-instance v5, Ljava/lang/StringBuilder;

    invoke-static {v4}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v6

    invoke-direct {v5, v6}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    invoke-virtual {v5, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    move-result-object v5

    const-string v6, " second"

    invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v5

    if-ne v7, v3, :cond_b

    const-string v6, ""

    :goto_4
    invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v5

    invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v4

    .line 345
    :cond_6
    return-object v4

    .line 324
    :cond_7
    const-string v6, "s, "

    goto :goto_0

    .line 330
    :cond_8
    const-string v6, "s, "

    goto :goto_1

    .line 336
    :cond_9
    const-string v6, "s"

    goto :goto_2

    :cond_a
    const-string v6, ""

    goto :goto_3

    .line 342
    :cond_b
    const-string v6, "s"

    goto :goto_4
.end method

.method public static DurationToStr(J)Ljava/lang/String;
    .locals 7
    .parameter "lDuration"

    .prologue
    const/16 v6, 0xa

    .line 274
    const-wide/16 v4, 0x0

    cmp-long v4, p0, v4

    if-gez v4, :cond_0

    .line 276
    const-wide/16 p0, 0x0

    .line 279
    :cond_0
    const-wide/32 v4, 0x5265c00

    div-long v4, p0, v4

    long-to-int v0, v4

    .line 280
    .local v0, nDays:I
    const-wide/32 v4, 0x36ee80

    div-long v4, p0, v4

    long-to-int v4, v4

    rem-int/lit8 v1, v4, 0x18

    .line 281
    .local v1, nHours:I
    const-wide/32 v4, 0xea60

    div-long v4, p0, v4

    long-to-int v4, v4

    rem-int/lit8 v2, v4, 0x3c

    .line 282
    .local v2, nMinutes:I
    const-wide/16 v4, 0x3e8

    div-long v4, p0, v4

    long-to-int v4, v4

    rem-int/lit8 v3, v4, 0x3c

    .line 285
    .local v3, nSeconds:I
    if-lt v0, v6, :cond_1

    .line 287
    new-instance v4, Ljava/lang/StringBuilder;

    invoke-static {v0}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;

    move-result-object v5

    invoke-direct {v4, v5}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    const-string v5, " days"

    invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v4

    invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v4

    .line 303
    :goto_0
    return-object v4

    .line 291
    :cond_1
    if-lez v0, :cond_4

    .line 293
    new-instance v4, Ljava/lang/StringBuilder;

    invoke-static {v0}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;

    move-result-object v5

    invoke-direct {v4, v5}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    const-string v5, " day"

    invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v4

    const/4 v5, 0x1

    if-ne v5, v0, :cond_2

    const-string v5, ", "

    :goto_1
    invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v4

    invoke-virtual {v4, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    move-result-object v4

    if-ge v2, v6, :cond_3

    const-string v5, ":0"

    :goto_2
    invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v4

    invoke-virtual {v4, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    move-result-object v4

    invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v4

    goto :goto_0

    :cond_2
    const-string v5, "s, "

    goto :goto_1

    :cond_3
    const-string v5, ":"

    goto :goto_2

    .line 297
    :cond_4
    if-lez v1, :cond_7

    .line 299
    new-instance v4, Ljava/lang/StringBuilder;

    invoke-static {v1}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;

    move-result-object v5

    invoke-direct {v4, v5}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    if-ge v2, v6, :cond_5

    const-string v5, ":0"

    :goto_3
    invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v4

    invoke-virtual {v4, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    move-result-object v4

    if-ge v3, v6, :cond_6

    const-string v5, ":0"

    :goto_4
    invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v4

    invoke-virtual {v4, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    move-result-object v4

    invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v4

    goto :goto_0

    :cond_5
    const-string v5, ":"

    goto :goto_3

    :cond_6
    const-string v5, ":"

    goto :goto_4

    .line 303
    :cond_7
    new-instance v4, Ljava/lang/StringBuilder;

    if-ge v2, v6, :cond_8

    const-string v5, "0"

    :goto_5
    invoke-static {v5}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v5

    invoke-direct {v4, v5}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    invoke-virtual {v4, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    move-result-object v4

    if-ge v3, v6, :cond_9

    const-string v5, ":0"

    :goto_6
    invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v4

    invoke-virtual {v4, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    move-result-object v4

    invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v4

    goto/16 :goto_0

    :cond_8
    const-string v5, ""

    goto :goto_5

    :cond_9
    const-string v5, ":"

    goto :goto_6
.end method

.method public static ElapsedToShortStr(J)Ljava/lang/String;
    .locals 12
    .parameter "lElapsed"

    .prologue
    const-wide/32 v10, 0x5265c00

    const-wide/32 v8, 0x36ee80

    const-wide/32 v6, 0xea60

    .line 214
    const-wide v4, 0x7fffffffffffffffL

    cmp-long v4, p0, v4

    if-nez v4, :cond_0

    .line 216
    const-string v4, "unknown time"

    .line 238
    :goto_0
    return-object v4

    .line 219
    :cond_0
    cmp-long v4, p0, v6

    if-gez v4, :cond_1

    .line 221
    const-wide/16 v4, 0x3e8

    div-long v4, p0, v4

    long-to-int v3, v4

    .line 222
    .local v3, nSeconds:I
    new-instance v4, Ljava/lang/StringBuilder;

    invoke-static {v3}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;

    move-result-object v5

    invoke-direct {v4, v5}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    const-string v5, "s ago"

    invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v4

    invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v4

    goto :goto_0

    .line 225
    .end local v3           #nSeconds:I
    :cond_1
    cmp-long v4, p0, v8

    if-gez v4, :cond_2

    .line 227
    div-long v4, p0, v6

    long-to-int v2, v4

    .line 228
    .local v2, nMinutes:I
    new-instance v4, Ljava/lang/StringBuilder;

    invoke-static {v2}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;

    move-result-object v5

    invoke-direct {v4, v5}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    const-string v5, "m ago"

    invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v4

    invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v4

    goto :goto_0

    .line 231
    .end local v2           #nMinutes:I
    :cond_2
    cmp-long v4, p0, v10

    if-gez v4, :cond_3

    .line 233
    div-long v4, p0, v8

    long-to-int v1, v4

    .line 234
    .local v1, nHours:I
    new-instance v4, Ljava/lang/StringBuilder;

    invoke-static {v1}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;

    move-result-object v5

    invoke-direct {v4, v5}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    const-string v5, "h ago"

    invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v4

    invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v4

    goto :goto_0

    .line 237
    .end local v1           #nHours:I
    :cond_3
    div-long v4, p0, v10

    long-to-int v0, v4

    .line 238
    .local v0, nDays:I
    new-instance v4, Ljava/lang/StringBuilder;

    invoke-static {v0}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;

    move-result-object v5

    invoke-direct {v4, v5}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    const-string v5, "d ago"

    invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v4

    invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v4

    goto :goto_0
.end method

.method public static ElapsedToShortStr(JZ)Ljava/lang/String;
    .locals 10
    .parameter "lElapsed"
    .parameter "fSeconds"

    .prologue
    .line 351
    const-wide/32 v0, 0x5265c00

    div-long v0, p0, v0

    .line 352
    .local v0, nDays:J
    const-wide/32 v2, 0x36ee80

    div-long v2, p0, v2

    const-wide/16 v4, 0x18

    rem-long/2addr v2, v4

    .line 353
    .local v2, nHours:J
    const-wide/32 v4, 0xea60

    div-long v4, p0, v4

    const-wide/16 v6, 0x3c

    rem-long/2addr v4, v6

    .line 354
    .local v4, nMinutes:J
    const-wide/16 v6, 0x3e8

    div-long/2addr p0, v6

    .end local p0
    const-wide/16 v6, 0x3c

    rem-long/2addr p0, v6

    .line 356
    .local p0, nSeconds:J
    new-instance v6, Ljava/lang/StringBuilder;

    const-wide/16 v7, 0x0

    cmp-long v7, v0, v7

    if-lez v7, :cond_1

    new-instance v7, Ljava/lang/StringBuilder;

    invoke-direct {v7}, Ljava/lang/StringBuilder;-><init>()V

    invoke-virtual {v7, v0, v1}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;

    move-result-object v7

    const-wide/16 v8, 0x1

    cmp-long v0, v8, v0

    if-nez v0, :cond_0

    .end local v0           #nDays:J
    const-string v0, " day, "

    :goto_0
    invoke-virtual {v7, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    :goto_1
    invoke-static {v0}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v0

    invoke-direct {v6, v0}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    .line 357
    invoke-virtual {v6, v2, v3}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;

    move-result-object v0

    const-wide/16 v1, 0xa

    cmp-long v1, v4, v1

    if-gez v1, :cond_2

    const-string v1, ":0"

    :goto_2
    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    invoke-virtual {v0, v4, v5}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;

    move-result-object v0

    .line 358
    if-eqz p2, :cond_4

    new-instance p2, Ljava/lang/StringBuilder;

    .end local p2
    const-wide/16 v1, 0xa

    cmp-long v1, p0, v1

    if-gez v1, :cond_3

    const-string v1, ":0"

    :goto_3
    invoke-static {v1}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v1

    invoke-direct {p2, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    invoke-virtual {p2, p0, p1}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;

    move-result-object p0

    .end local p0           #nSeconds:J
    invoke-virtual {p0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object p0

    :goto_4
    invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object p0

    .line 356
    invoke-virtual {p0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object p0

    return-object p0

    .restart local p0       #nSeconds:J
    .restart local p2
    :cond_0
    const-string v0, " days, "

    goto :goto_0

    .restart local v0       #nDays:J
    :cond_1
    const-string v0, ""

    goto :goto_1

    .line 357
    .end local v0           #nDays:J
    :cond_2
    const-string v1, ":"

    goto :goto_2

    .line 358
    .end local p2
    :cond_3
    const-string v1, ":"

    goto :goto_3

    .restart local p2
    :cond_4
    const-string p0, ""

    goto :goto_4
.end method

.method public static ElapsedToStr(J)Ljava/lang/String;
    .locals 13
    .parameter "lElapsed"

    .prologue
    const-wide/32 v11, 0x5265c00

    const-wide/32 v9, 0x36ee80

    const-wide/32 v7, 0xea60

    const/4 v6, 0x1

    .line 244
    const-wide v4, 0x7fffffffffffffffL

    cmp-long v4, p0, v4

    if-nez v4, :cond_0

    .line 246
    const-string v4, "unknown time"

    .line 268
    :goto_0
    return-object v4

    .line 249
    :cond_0
    cmp-long v4, p0, v7

    if-gez v4, :cond_2

    .line 251
    const-wide/16 v4, 0x3e8

    div-long v4, p0, v4

    long-to-int v3, v4

    .line 252
    .local v3, nSeconds:I
    new-instance v4, Ljava/lang/StringBuilder;

    invoke-static {v3}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;

    move-result-object v5

    invoke-direct {v4, v5}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    const-string v5, " second"

    invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v4

    if-ne v6, v3, :cond_1

    const-string v5, ""

    :goto_1
    invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v4

    const-string v5, " ago"

    invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v4

    invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v4

    goto :goto_0

    :cond_1
    const-string v5, "s"

    goto :goto_1

    .line 255
    .end local v3           #nSeconds:I
    :cond_2
    cmp-long v4, p0, v9

    if-gez v4, :cond_4

    .line 257
    div-long v4, p0, v7

    long-to-int v2, v4

    .line 258
    .local v2, nMinutes:I
    new-instance v4, Ljava/lang/StringBuilder;

    invoke-static {v2}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;

    move-result-object v5

    invoke-direct {v4, v5}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    const-string v5, " minute"

    invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v4

    if-ne v6, v2, :cond_3

    const-string v5, ""

    :goto_2
    invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v4

    const-string v5, " ago"

    invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v4

    invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v4

    goto :goto_0

    :cond_3
    const-string v5, "s"

    goto :goto_2

    .line 261
    .end local v2           #nMinutes:I
    :cond_4
    cmp-long v4, p0, v11

    if-gez v4, :cond_6

    .line 263
    div-long v4, p0, v9

    long-to-int v1, v4

    .line 264
    .local v1, nHours:I
    new-instance v4, Ljava/lang/StringBuilder;

    invoke-static {v1}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;

    move-result-object v5

    invoke-direct {v4, v5}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    const-string v5, " hour"

    invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v4

    if-ne v6, v1, :cond_5

    const-string v5, ""

    :goto_3
    invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v4

    const-string v5, " ago"

    invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v4

    invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v4

    goto/16 :goto_0

    :cond_5
    const-string v5, "s"

    goto :goto_3

    .line 267
    .end local v1           #nHours:I
    :cond_6
    div-long v4, p0, v11

    long-to-int v0, v4

    .line 268
    .local v0, nDays:I
    new-instance v4, Ljava/lang/StringBuilder;

    invoke-static {v0}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;

    move-result-object v5

    invoke-direct {v4, v5}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    const-string v5, " day"

    invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v4

    if-ne v6, v0, :cond_7

    const-string v5, ""

    :goto_4
    invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v4

    const-string v5, " ago"

    invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v4

    invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v4

    goto/16 :goto_0

    :cond_7
    const-string v5, "s"

    goto :goto_4
.end method

.method public static EncodeProtocolString(Ljava/lang/String;)Ljava/lang/StringBuffer;
    .locals 6
    .parameter "strSource"

    .prologue
    .line 828
    new-instance v3, Ljava/lang/StringBuffer;

    invoke-direct {v3}, Ljava/lang/StringBuffer;-><init>()V

    .line 830
    .local v3, strbld:Ljava/lang/StringBuffer;
    invoke-static {p0}, Lcom/glympse/platform/common/Helpers;->IsEmpty(Ljava/lang/String;)Z

    move-result v4

    if-nez v4, :cond_0

    .line 833
    const/4 v2, 0x0

    .local v2, i:I
    :goto_0
    invoke-virtual {p0}, Ljava/lang/String;->length()I

    move-result v4

    if-lt v2, v4, :cond_1

    .line 876
    .end local v2           #i:I
    :cond_0
    return-object v3

    .line 835
    .restart local v2       #i:I
    :cond_1
    invoke-virtual {p0, v2}, Ljava/lang/String;->charAt(I)C

    move-result v1

    .line 838
    .local v1, cSrc:C
    const/4 v0, 0x0

    .line 839
    .local v0, cControl:C
    sparse-switch v1, :sswitch_data_0

    .line 852
    :goto_1
    if-eqz v0, :cond_2

    .line 854
    const/16 v4, 0x5c

    invoke-virtual {v3, v4}, Ljava/lang/StringBuffer;->append(C)Ljava/lang/StringBuffer;

    .line 855
    invoke-virtual {v3, v0}, Ljava/lang/StringBuffer;->append(C)Ljava/lang/StringBuffer;

    .line 833
    :goto_2
    add-int/lit8 v2, v2, 0x1

    goto :goto_0

    .line 841
    :sswitch_0
    const/16 v0, 0x22

    goto :goto_1

    .line 842
    :sswitch_1
    const/16 v0, 0x5c

    goto :goto_1

    .line 843
    :sswitch_2
    const/16 v0, 0x2f

    goto :goto_1

    .line 844
    :sswitch_3
    const/16 v0, 0x62

    goto :goto_1

    .line 845
    :sswitch_4
    const/16 v0, 0x66

    goto :goto_1

    .line 846
    :sswitch_5
    const/16 v0, 0x6e

    goto :goto_1

    .line 847
    :sswitch_6
    const/16 v0, 0x72

    goto :goto_1

    .line 848
    :sswitch_7
    const/16 v0, 0x74

    goto :goto_1

    .line 859
    :cond_2
    const/16 v4, 0x20

    if-lt v1, v4, :cond_3

    const/16 v4, 0x7f

    if-lt v1, v4, :cond_4

    .line 861
    :cond_3
    const-string v4, "\\u"

    invoke-virtual {v3, v4}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;

    .line 862
    sget-object v4, Lcom/glympse/platform/common/Helpers;->ms_acHex:[C

    shr-int/lit8 v5, v1, 0xc

    and-int/lit8 v5, v5, 0xf

    aget-char v4, v4, v5

    invoke-virtual {v3, v4}, Ljava/lang/StringBuffer;->append(C)Ljava/lang/StringBuffer;

    .line 863
    sget-object v4, Lcom/glympse/platform/common/Helpers;->ms_acHex:[C

    shr-int/lit8 v5, v1, 0x8

    and-int/lit8 v5, v5, 0xf

    aget-char v4, v4, v5

    invoke-virtual {v3, v4}, Ljava/lang/StringBuffer;->append(C)Ljava/lang/StringBuffer;

    .line 864
    sget-object v4, Lcom/glympse/platform/common/Helpers;->ms_acHex:[C

    shr-int/lit8 v5, v1, 0x4

    and-int/lit8 v5, v5, 0xf

    aget-char v4, v4, v5

    invoke-virtual {v3, v4}, Ljava/lang/StringBuffer;->append(C)Ljava/lang/StringBuffer;

    .line 865
    sget-object v4, Lcom/glympse/platform/common/Helpers;->ms_acHex:[C

    and-int/lit8 v5, v1, 0xf

    aget-char v4, v4, v5

    invoke-virtual {v3, v4}, Ljava/lang/StringBuffer;->append(C)Ljava/lang/StringBuffer;

    goto :goto_2

    .line 871
    :cond_4
    invoke-virtual {v3, v1}, Ljava/lang/StringBuffer;->append(C)Ljava/lang/StringBuffer;

    goto :goto_2

    .line 839
    :sswitch_data_0
    .sparse-switch
        0x8 -> :sswitch_3
        0x9 -> :sswitch_7
        0xa -> :sswitch_5
        0xc -> :sswitch_4
        0xd -> :sswitch_6
        0x22 -> :sswitch_0
        0x2f -> :sswitch_2
        0x5c -> :sswitch_1
    .end sparse-switch
.end method

.method public static GetDigitsString(Ljava/lang/String;)Ljava/lang/String;
    .locals 5
    .parameter "str"

    .prologue
    .line 798
    invoke-static {p0}, Lcom/glympse/platform/common/Helpers;->IsEmpty(Ljava/lang/String;)Z

    move-result v4

    if-nez v4, :cond_4

    .line 801
    new-instance v3, Ljava/lang/StringBuffer;

    invoke-virtual {p0}, Ljava/lang/String;->length()I

    move-result v4

    invoke-direct {v3, v4}, Ljava/lang/StringBuffer;-><init>(I)V

    .line 803
    .local v3, strbufDigits:Ljava/lang/StringBuffer;
    invoke-virtual {p0}, Ljava/lang/String;->toCharArray()[C

    move-result-object v0

    .line 804
    .local v0, aChars:[C
    const/4 v2, 0x0

    .local v2, nChar:I
    :goto_0
    array-length v4, v0

    if-lt v2, v4, :cond_0

    .line 814
    invoke-virtual {v3}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String;

    move-result-object v4

    .line 816
    .end local v0           #aChars:[C
    .end local v2           #nChar:I
    .end local v3           #strbufDigits:Ljava/lang/StringBuffer;
    :goto_1
    return-object v4

    .line 806
    .restart local v0       #aChars:[C
    .restart local v2       #nChar:I
    .restart local v3       #strbufDigits:Ljava/lang/StringBuffer;
    :cond_0
    aget-char v1, v0, v2

    .line 808
    .local v1, cChar:C
    const/16 v4, 0x30

    if-lt v1, v4, :cond_1

    const/16 v4, 0x39

    if-le v1, v4, :cond_2

    :cond_1
    const/16 v4, 0x2b

    if-ne v1, v4, :cond_3

    .line 810
    :cond_2
    invoke-virtual {v3, v1}, Ljava/lang/StringBuffer;->append(C)Ljava/lang/StringBuffer;

    .line 804
    :cond_3
    add-int/lit8 v2, v2, 0x1

    goto :goto_0

    .line 816
    .end local v0           #aChars:[C
    .end local v1           #cChar:C
    .end local v2           #nChar:I
    .end local v3           #strbufDigits:Ljava/lang/StringBuffer;
    :cond_4
    const/4 v4, 0x0

    goto :goto_1
.end method

.method private static HexToInt(C)I
    .locals 4
    .parameter "c"

    .prologue
    const/16 v3, 0x61

    const/16 v2, 0x41

    const/16 v1, 0x30

    .line 1517
    if-lt p0, v1, :cond_0

    const/16 v0, 0x39

    if-gt p0, v0, :cond_0

    sub-int v0, p0, v1

    :goto_0
    return v0

    .line 1518
    :cond_0
    if-lt p0, v3, :cond_1

    const/16 v0, 0x66

    if-gt p0, v0, :cond_1

    sub-int v0, p0, v3

    add-int/lit8 v0, v0, 0xa

    goto :goto_0

    .line 1519
    :cond_1
    if-lt p0, v2, :cond_2

    const/16 v0, 0x46

    if-gt p0, v0, :cond_2

    sub-int v0, p0, v2

    add-int/lit8 v0, v0, 0xa

    goto :goto_0

    :cond_2
    const/4 v0, -0x1

    goto :goto_0
.end method

.method public static IsEmpty(Ljava/lang/String;)Z
    .locals 1
    .parameter "str"

    .prologue
    .line 145
    if-eqz p0, :cond_0

    invoke-virtual {p0}, Ljava/lang/String;->length()I

    move-result v0

    if-lez v0, :cond_0

    const/4 v0, 0x0

    :goto_0
    return v0

    :cond_0
    const/4 v0, 0x1

    goto :goto_0
.end method

.method public static IsWhitespace(C)Z
    .locals 1
    .parameter "c"

    .prologue
    .line 157
    const/16 v0, 0x20

    if-gt p0, v0, :cond_0

    const/4 v0, 0x1

    :goto_0
    return v0

    :cond_0
    const/4 v0, 0x0

    goto :goto_0
.end method

.method public static LatitudeToStr(D)Ljava/lang/String;
    .locals 14
    .parameter "dLatitude"

    .prologue
    const/4 v13, 0x0

    const-wide/high16 v11, 0x404e

    .line 568
    const-wide/16 v9, 0x0

    cmpl-double v9, p0, v9

    if-ltz v9, :cond_0

    const/16 v9, 0x4e

    move v0, v9

    .line 569
    .local v0, cDir:C
    :goto_0
    invoke-static {p0, p1}, Ljava/lang/Math;->abs(D)D

    move-result-wide p0

    .line 571
    invoke-static {p0, p1}, Ljava/lang/Math;->floor(D)D

    move-result-wide v1

    .line 572
    .local v1, dDegreesInt:D
    sub-double v9, p0, v1

    mul-double v3, v11, v9

    .line 573
    .local v3, dMinutes:D
    invoke-static {v3, v4}, Ljava/lang/Math;->floor(D)D

    move-result-wide v5

    .line 574
    .local v5, dMinutesInt:D
    sub-double v9, v3, v5

    mul-double v7, v11, v9

    .line 576
    .local v7, dSeconds:D
    new-instance v9, Ljava/lang/StringBuilder;

    invoke-static {v1, v2, v13}, Lcom/glympse/platform/common/Helpers;->DoubleToStr(DI)Ljava/lang/String;

    move-result-object v10

    invoke-static {v10}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v10

    invoke-direct {v9, v10}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    const-string v10, "\u00b0 "

    invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v9

    invoke-static {v5, v6, v13}, Lcom/glympse/platform/common/Helpers;->DoubleToStr(DI)Ljava/lang/String;

    move-result-object v10

    invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v9

    const-string v10, "\' "

    invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v9

    const/4 v10, 0x2

    invoke-static {v7, v8, v10}, Lcom/glympse/platform/common/Helpers;->DoubleToStr(DI)Ljava/lang/String;

    move-result-object v10

    invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v9

    const-string v10, " "

    invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v9

    invoke-virtual {v9, v0}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;

    move-result-object v9

    invoke-virtual {v9}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v9

    return-object v9

    .line 568
    .end local v0           #cDir:C
    .end local v1           #dDegreesInt:D
    .end local v3           #dMinutes:D
    .end local v5           #dMinutesInt:D
    .end local v7           #dSeconds:D
    :cond_0
    const/16 v9, 0x53

    move v0, v9

    goto :goto_0
.end method

.method public static Log(Ljava/lang/String;)V
    .locals 0
    .parameter "strLog"

    .prologue
    .line 88
    return-void
.end method

.method public static Log(Ljava/lang/Throwable;)V
    .locals 0
    .parameter "e"

    .prologue
    .line 97
    return-void
.end method

.method public static LogStackTrace()V
    .locals 0

    .prologue
    .line 113
    return-void
.end method

.method public static LogUpdateFlags(Ljava/lang/String;I)V
    .locals 0
    .parameter "strClass"
    .parameter "nUpdateFlags"

    .prologue
    .line 120
    return-void
.end method

.method public static LongToBase32(J)Ljava/lang/String;
    .locals 8
    .parameter "lValue"

    .prologue
    const-wide/16 v6, 0x1f

    const/4 v5, 0x5

    .line 683
    const-string v0, ""

    .line 686
    .local v0, strResult:Ljava/lang/String;
    new-instance v1, Ljava/lang/StringBuilder;

    invoke-static {v0}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v2

    invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    sget-object v2, Lcom/glympse/platform/common/Helpers;->ms_acBase32Encode:[C

    and-long v3, p0, v6

    long-to-int v3, v3

    aget-char v2, v2, v3

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;

    move-result-object v1

    invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    .line 687
    shr-long/2addr p0, v5

    .line 690
    :goto_0
    const-wide/16 v1, 0x0

    cmp-long v1, p0, v1

    if-gtz v1, :cond_0

    .line 697
    return-object v0

    .line 692
    :cond_0
    new-instance v1, Ljava/lang/StringBuilder;

    sget-object v2, Lcom/glympse/platform/common/Helpers;->ms_acBase32Encode:[C

    and-long v3, p0, v6

    long-to-int v3, v3

    aget-char v2, v2, v3

    invoke-static {v2}, Ljava/lang/String;->valueOf(C)Ljava/lang/String;

    move-result-object v2

    invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v1

    invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    .line 693
    shr-long/2addr p0, v5

    goto :goto_0
.end method

.method public static LongitudeToStr(D)Ljava/lang/String;
    .locals 14
    .parameter "dLongitude"

    .prologue
    const/4 v13, 0x0

    const-wide/high16 v11, 0x404e

    .line 582
    const-wide/16 v9, 0x0

    cmpl-double v9, p0, v9

    if-ltz v9, :cond_0

    const/16 v9, 0x45

    move v0, v9

    .line 583
    .local v0, cDir:C
    :goto_0
    invoke-static {p0, p1}, Ljava/lang/Math;->abs(D)D

    move-result-wide p0

    .line 585
    invoke-static {p0, p1}, Ljava/lang/Math;->floor(D)D

    move-result-wide v1

    .line 586
    .local v1, dDegreesInt:D
    sub-double v9, p0, v1

    mul-double v3, v11, v9

    .line 587
    .local v3, dMinutes:D
    invoke-static {v3, v4}, Ljava/lang/Math;->floor(D)D

    move-result-wide v5

    .line 588
    .local v5, dMinutesInt:D
    sub-double v9, v3, v5

    mul-double v7, v11, v9

    .line 590
    .local v7, dSeconds:D
    new-instance v9, Ljava/lang/StringBuilder;

    invoke-static {v1, v2, v13}, Lcom/glympse/platform/common/Helpers;->DoubleToStr(DI)Ljava/lang/String;

    move-result-object v10

    invoke-static {v10}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v10

    invoke-direct {v9, v10}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    const-string v10, "\u00b0 "

    invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v9

    invoke-static {v5, v6, v13}, Lcom/glympse/platform/common/Helpers;->DoubleToStr(DI)Ljava/lang/String;

    move-result-object v10

    invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v9

    const-string v10, "\' "

    invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v9

    const/4 v10, 0x2

    invoke-static {v7, v8, v10}, Lcom/glympse/platform/common/Helpers;->DoubleToStr(DI)Ljava/lang/String;

    move-result-object v10

    invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v9

    const-string v10, " "

    invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v9

    invoke-virtual {v9, v0}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;

    move-result-object v9

    invoke-virtual {v9}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v9

    return-object v9

    .line 582
    .end local v0           #cDir:C
    .end local v1           #dDegreesInt:D
    .end local v3           #dMinutes:D
    .end local v5           #dMinutesInt:D
    .end local v7           #dSeconds:D
    :cond_0
    const/16 v9, 0x57

    move v0, v9

    goto :goto_0
.end method

.method public static ParseDouble(Ljava/lang/String;)D
    .locals 2
    .parameter "str"

    .prologue
    .line 1604
    :try_start_0
    invoke-static {p0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
    :try_end_0
    .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0

    move-result-wide v0

    .line 1609
    :goto_0
    return-wide v0

    .line 1606
    :catch_0
    move-exception v0

    .line 1609
    const-wide/16 v0, 0x0

    goto :goto_0
.end method

.method public static ParseFloat(Ljava/lang/String;)F
    .locals 1
    .parameter "str"

    .prologue
    .line 1617
    :try_start_0
    invoke-static {p0}, Ljava/lang/Float;->parseFloat(Ljava/lang/String;)F
    :try_end_0
    .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0

    move-result v0

    .line 1622
    :goto_0
    return v0

    .line 1619
    :catch_0
    move-exception v0

    .line 1622
    const/4 v0, 0x0

    goto :goto_0
.end method

.method public static ParseInt(Ljava/lang/String;)I
    .locals 1
    .parameter "str"

    .prologue
    .line 1578
    :try_start_0
    invoke-static {p0}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
    :try_end_0
    .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0

    move-result v0

    .line 1583
    :goto_0
    return v0

    .line 1580
    :catch_0
    move-exception v0

    .line 1583
    const/4 v0, 0x0

    goto :goto_0
.end method

.method public static ParseJSON(Lcom/glympse/platform/common/CharArrayPointer;)Lcom/glympse/platform/GVector$NameValueNodes;
    .locals 7
    .parameter "cap"

    .prologue
    const/16 v6, 0x7b

    const/16 v5, 0x5b

    const/4 v4, 0x0

    .line 1272
    if-eqz p0, :cond_0

    invoke-virtual {p0}, Lcom/glympse/platform/common/CharArrayPointer;->IsValid()Z

    move-result v2

    if-nez v2, :cond_1

    :cond_0
    move-object v2, v4

    .line 1341
    :goto_0
    return-object v2

    .line 1278
    :cond_1
    new-instance v0, Lcom/glympse/platform/GVector$NameValueNodes;

    invoke-direct {v0}, Lcom/glympse/platform/GVector$NameValueNodes;-><init>()V

    .line 1284
    .local v0, listNameValues:Lcom/glympse/platform/GVector$NameValueNodes;,"Lcom/glympse/platform/GVector$NameValueNodes;"
    :goto_1
    invoke-virtual {p0}, Lcom/glympse/platform/common/CharArrayPointer;->IsSpace()Z

    move-result v2

    if-nez v2, :cond_2

    iget-char v2, p0, Lcom/glympse/platform/common/CharArrayPointer;->m_cCur:C

    if-eq v6, v2, :cond_2

    iget-char v2, p0, Lcom/glympse/platform/common/CharArrayPointer;->m_cCur:C

    if-eq v5, v2, :cond_2

    const/16 v2, 0x5d

    iget-char v3, p0, Lcom/glympse/platform/common/CharArrayPointer;->m_cCur:C

    if-eq v2, v3, :cond_2

    const/16 v2, 0x7d

    iget-char v3, p0, Lcom/glympse/platform/common/CharArrayPointer;->m_cCur:C

    if-eq v2, v3, :cond_2

    const/16 v2, 0x2c

    iget-char v3, p0, Lcom/glympse/platform/common/CharArrayPointer;->m_cCur:C

    if-eq v2, v3, :cond_2

    .line 1290
    iget-char v2, p0, Lcom/glympse/platform/common/CharArrayPointer;->m_cCur:C

    if-nez v2, :cond_3

    move-object v2, v0

    .line 1341
    goto :goto_0

    .line 1286
    :cond_2
    invoke-virtual {p0}, Lcom/glympse/platform/common/CharArrayPointer;->Inc()V

    goto :goto_1

    .line 1296
    :cond_3
    new-instance v1, Lcom/glympse/platform/common/NameValueNode;

    invoke-direct {v1}, Lcom/glympse/platform/common/NameValueNode;-><init>()V

    .line 1299
    .local v1, oNew:Lcom/glympse/platform/common/NameValueNode;
    invoke-static {p0}, Lcom/glympse/platform/common/Helpers;->ParseNameOrValue(Lcom/glympse/platform/common/CharArrayPointer;)Ljava/lang/String;

    move-result-object v2

    iput-object v2, v1, Lcom/glympse/platform/common/NameValueNode;->m_strName:Ljava/lang/String;

    if-nez v2, :cond_5

    move-object v2, v4

    .line 1301
    goto :goto_0

    .line 1307
    :cond_4
    invoke-virtual {p0}, Lcom/glympse/platform/common/CharArrayPointer;->Inc()V

    .line 1305
    :cond_5
    invoke-virtual {p0}, Lcom/glympse/platform/common/CharArrayPointer;->IsSpace()Z

    move-result v2

    if-nez v2, :cond_4

    const/16 v2, 0x3a

    iget-char v3, p0, Lcom/glympse/platform/common/CharArrayPointer;->m_cCur:C

    if-eq v2, v3, :cond_4

    .line 1311
    iget-char v2, p0, Lcom/glympse/platform/common/CharArrayPointer;->m_cCur:C

    if-nez v2, :cond_6

    .line 1313
    const-string v2, "ParseJSON: Found a name without a value."

    invoke-static {v2}, Lcom/glympse/platform/common/Helpers;->Log(Ljava/lang/String;)V

    move-object v2, v4

    .line 1314
    goto :goto_0

    .line 1321
    :cond_6
    iget-char v2, p0, Lcom/glympse/platform/common/CharArrayPointer;->m_cCur:C

    if-ne v5, v2, :cond_8

    .line 1323
    const-string v2, "[ARRAY]"

    iput-object v2, v1, Lcom/glympse/platform/common/NameValueNode;->m_strValue:Ljava/lang/String;

    .line 1338
    :cond_7
    :goto_2
    invoke-virtual {v0, v1}, Lcom/glympse/platform/GVector$NameValueNodes;->addElement(Ljava/lang/Object;)V

    goto :goto_1

    .line 1326
    :cond_8
    iget-char v2, p0, Lcom/glympse/platform/common/CharArrayPointer;->m_cCur:C

    if-ne v6, v2, :cond_9

    .line 1328
    const-string v2, "{OBJECT}"

    iput-object v2, v1, Lcom/glympse/platform/common/NameValueNode;->m_strValue:Ljava/lang/String;

    goto :goto_2

    .line 1332
    :cond_9
    invoke-static {p0}, Lcom/glympse/platform/common/Helpers;->ParseNameOrValue(Lcom/glympse/platform/common/CharArrayPointer;)Ljava/lang/String;

    move-result-object v2

    iput-object v2, v1, Lcom/glympse/platform/common/NameValueNode;->m_strValue:Ljava/lang/String;

    if-nez v2, :cond_7

    move-object v2, v4

    .line 1334
    goto :goto_0
.end method

.method public static ParseLong(Ljava/lang/String;)J
    .locals 2
    .parameter "str"

    .prologue
    .line 1591
    :try_start_0
    invoke-static {p0}, Ljava/lang/Long;->parseLong(Ljava/lang/String;)J
    :try_end_0
    .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0

    move-result-wide v0

    .line 1596
    :goto_0
    return-wide v0

    .line 1593
    :catch_0
    move-exception v0

    .line 1596
    const-wide/16 v0, 0x0

    goto :goto_0
.end method

.method public static ParseNameOrValue(Lcom/glympse/platform/common/CharArrayPointer;)Ljava/lang/String;
    .locals 4
    .parameter "cap"

    .prologue
    .line 1105
    const/16 v1, 0x22

    iget-char v2, p0, Lcom/glympse/platform/common/CharArrayPointer;->m_cCur:C

    if-ne v1, v2, :cond_0

    .line 1107
    invoke-static {p0}, Lcom/glympse/platform/common/Helpers;->DecodeProtocolString(Lcom/glympse/platform/common/CharArrayPointer;)Ljava/lang/StringBuffer;

    move-result-object v1

    invoke-virtual {v1}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String;

    move-result-object v1

    .line 1124
    :goto_0
    return-object v1

    .line 1110
    :cond_0
    invoke-virtual {p0}, Lcom/glympse/platform/common/CharArrayPointer;->GetCurPosition()I

    move-result v0

    .line 1113
    .local v0, nStart:I
    :goto_1
    invoke-virtual {p0}, Lcom/glympse/platform/common/CharArrayPointer;->IsLineEnd()Z

    move-result v1

    if-eqz v1, :cond_2

    .line 1124
    :cond_1
    new-instance v1, Ljava/lang/String;

    invoke-virtual {p0}, Lcom/glympse/platform/common/CharArrayPointer;->GetCharArray()[C

    move-result-object v2

    invoke-virtual {p0}, Lcom/glympse/platform/common/CharArrayPointer;->GetCurPosition()I

    move-result v3

    sub-int/2addr v3, v0

    invoke-direct {v1, v2, v0, v3}, Ljava/lang/String;-><init>([CII)V

    goto :goto_0

    .line 1115
    :cond_2
    invoke-virtual {p0}, Lcom/glympse/platform/common/CharArrayPointer;->IsSpace()Z

    move-result v1

    if-nez v1, :cond_1

    const/16 v1, 0x2c

    iget-char v2, p0, Lcom/glympse/platform/common/CharArrayPointer;->m_cCur:C

    if-eq v1, v2, :cond_1

    const/16 v1, 0x3a

    iget-char v2, p0, Lcom/glympse/platform/common/CharArrayPointer;->m_cCur:C

    if-eq v1, v2, :cond_1

    .line 1121
    invoke-virtual {p0}, Lcom/glympse/platform/common/CharArrayPointer;->Inc()V

    goto :goto_1
.end method

.method public static ParseNameValuePairs(Lcom/glympse/platform/common/CharArrayPointer;)Lcom/glympse/platform/GVector$NameValueNodes;
    .locals 6
    .parameter "cap"

    .prologue
    const/16 v5, 0x3a

    const/16 v4, 0x2c

    const/4 v3, 0x0

    .line 1144
    if-eqz p0, :cond_0

    invoke-virtual {p0}, Lcom/glympse/platform/common/CharArrayPointer;->IsValid()Z

    move-result v2

    if-nez v2, :cond_1

    :cond_0
    move-object v2, v3

    .line 1261
    :goto_0
    return-object v2

    .line 1150
    :cond_1
    new-instance v0, Lcom/glympse/platform/GVector$NameValueNodes;

    invoke-direct {v0}, Lcom/glympse/platform/GVector$NameValueNodes;-><init>()V

    .line 1153
    .local v0, listNameValues:Lcom/glympse/platform/GVector$NameValueNodes;,"Lcom/glympse/platform/GVector$NameValueNodes;"
    :goto_1
    invoke-virtual {p0}, Lcom/glympse/platform/common/CharArrayPointer;->IsLineEnd()Z

    move-result v2

    if-nez v2, :cond_2

    invoke-virtual {p0}, Lcom/glympse/platform/common/CharArrayPointer;->IsSpace()Z

    move-result v2

    if-nez v2, :cond_3

    .line 1159
    :cond_2
    invoke-virtual {p0}, Lcom/glympse/platform/common/CharArrayPointer;->IsLineEnd()Z

    move-result v2

    if-eqz v2, :cond_5

    move-object v2, v0

    .line 1161
    goto :goto_0

    .line 1155
    :cond_3
    invoke-virtual {p0}, Lcom/glympse/platform/common/CharArrayPointer;->Inc()V

    goto :goto_1

    .line 1248
    .local v1, nodeNew:Lcom/glympse/platform/common/NameValueNode;
    :cond_4
    invoke-virtual {p0}, Lcom/glympse/platform/common/CharArrayPointer;->Inc()V

    .line 1251
    :goto_2
    invoke-virtual {p0}, Lcom/glympse/platform/common/CharArrayPointer;->IsLineEnd()Z

    move-result v2

    if-nez v2, :cond_5

    invoke-virtual {p0}, Lcom/glympse/platform/common/CharArrayPointer;->IsSpace()Z

    move-result v2

    if-nez v2, :cond_10

    .line 1168
    .end local v1           #nodeNew:Lcom/glympse/platform/common/NameValueNode;
    :cond_5
    new-instance v1, Lcom/glympse/platform/common/NameValueNode;

    invoke-direct {v1}, Lcom/glympse/platform/common/NameValueNode;-><init>()V

    .line 1172
    .restart local v1       #nodeNew:Lcom/glympse/platform/common/NameValueNode;
    invoke-virtual {p0}, Lcom/glympse/platform/common/CharArrayPointer;->IsLineEnd()Z

    move-result v2

    if-nez v2, :cond_d

    iget-char v2, p0, Lcom/glympse/platform/common/CharArrayPointer;->m_cCur:C

    if-eq v4, v2, :cond_d

    .line 1176
    iget-char v2, p0, Lcom/glympse/platform/common/CharArrayPointer;->m_cCur:C

    if-eq v5, v2, :cond_8

    .line 1180
    invoke-static {p0}, Lcom/glympse/platform/common/Helpers;->ParseNameOrValue(Lcom/glympse/platform/common/CharArrayPointer;)Ljava/lang/String;

    move-result-object v2

    iput-object v2, v1, Lcom/glympse/platform/common/NameValueNode;->m_strName:Ljava/lang/String;

    if-nez v2, :cond_7

    move-object v2, v3

    .line 1182
    goto :goto_0

    .line 1188
    :cond_6
    invoke-virtual {p0}, Lcom/glympse/platform/common/CharArrayPointer;->Inc()V

    .line 1186
    :cond_7
    invoke-virtual {p0}, Lcom/glympse/platform/common/CharArrayPointer;->IsLineEnd()Z

    move-result v2

    if-nez v2, :cond_8

    invoke-virtual {p0}, Lcom/glympse/platform/common/CharArrayPointer;->IsSpace()Z

    move-result v2

    if-nez v2, :cond_6

    .line 1193
    :cond_8
    iget-char v2, p0, Lcom/glympse/platform/common/CharArrayPointer;->m_cCur:C

    if-ne v5, v2, :cond_e

    .line 1196
    invoke-virtual {p0}, Lcom/glympse/platform/common/CharArrayPointer;->Inc()V

    .line 1199
    :goto_3
    invoke-virtual {p0}, Lcom/glympse/platform/common/CharArrayPointer;->IsLineEnd()Z

    move-result v2

    if-nez v2, :cond_9

    invoke-virtual {p0}, Lcom/glympse/platform/common/CharArrayPointer;->IsSpace()Z

    move-result v2

    if-nez v2, :cond_a

    .line 1206
    :cond_9
    invoke-static {p0}, Lcom/glympse/platform/common/Helpers;->ParseNameOrValue(Lcom/glympse/platform/common/CharArrayPointer;)Ljava/lang/String;

    move-result-object v2

    iput-object v2, v1, Lcom/glympse/platform/common/NameValueNode;->m_strValue:Ljava/lang/String;

    if-nez v2, :cond_c

    move-object v2, v3

    .line 1208
    goto :goto_0

    .line 1201
    :cond_a
    invoke-virtual {p0}, Lcom/glympse/platform/common/CharArrayPointer;->Inc()V

    goto :goto_3

    .line 1214
    :cond_b
    invoke-virtual {p0}, Lcom/glympse/platform/common/CharArrayPointer;->Inc()V

    .line 1212
    :cond_c
    invoke-virtual {p0}, Lcom/glympse/platform/common/CharArrayPointer;->IsLineEnd()Z

    move-result v2

    if-nez v2, :cond_d

    invoke-virtual {p0}, Lcom/glympse/platform/common/CharArrayPointer;->IsSpace()Z

    move-result v2

    if-nez v2, :cond_b

    .line 1232
    :cond_d
    :goto_4
    invoke-virtual {v0, v1}, Lcom/glympse/platform/GVector$NameValueNodes;->addElement(Ljava/lang/Object;)V

    .line 1235
    invoke-virtual {p0}, Lcom/glympse/platform/common/CharArrayPointer;->IsLineEnd()Z

    move-result v2

    if-eqz v2, :cond_f

    move-object v2, v0

    .line 1261
    goto/16 :goto_0

    .line 1225
    :cond_e
    iget-object v2, v1, Lcom/glympse/platform/common/NameValueNode;->m_strName:Ljava/lang/String;

    iput-object v2, v1, Lcom/glympse/platform/common/NameValueNode;->m_strValue:Ljava/lang/String;

    .line 1226
    iput-object v3, v1, Lcom/glympse/platform/common/NameValueNode;->m_strName:Ljava/lang/String;

    goto :goto_4

    .line 1241
    :cond_f
    iget-char v2, p0, Lcom/glympse/platform/common/CharArrayPointer;->m_cCur:C

    if-eq v4, v2, :cond_4

    .line 1243
    const-string v2, "ParseNameValuePairs: Was expecting a comma between named/value pairs"

    invoke-static {v2}, Lcom/glympse/platform/common/Helpers;->Log(Ljava/lang/String;)V

    move-object v2, v3

    .line 1244
    goto/16 :goto_0

    .line 1253
    :cond_10
    invoke-virtual {p0}, Lcom/glympse/platform/common/CharArrayPointer;->Inc()V

    goto/16 :goto_2
.end method

.method public static ParseQueryStringParameters(Ljava/lang/String;)Lcom/glympse/platform/GVector$NameValueNodes;
    .locals 8
    .parameter "strQueryString"

    .prologue
    const/4 v7, 0x1

    .line 1346
    new-instance v1, Lcom/glympse/platform/GVector$NameValueNodes;

    invoke-direct {v1}, Lcom/glympse/platform/GVector$NameValueNodes;-><init>()V

    .line 1349
    .local v1, listNameValues:Lcom/glympse/platform/GVector$NameValueNodes;,"Lcom/glympse/platform/GVector$NameValueNodes;"
    const/16 v6, 0x26

    invoke-static {p0, v6}, Lcom/glympse/platform/common/Helpers;->StrSplit(Ljava/lang/String;C)Lcom/glympse/platform/GVector$Strings;

    move-result-object v2

    .line 1352
    .local v2, listParamters:Lcom/glympse/platform/GVector$Strings;,"Lcom/glympse/platform/GVector$Strings;"
    invoke-virtual {v2}, Lcom/glympse/platform/GVector$Strings;->elements()Ljava/util/Enumeration;

    move-result-object v0

    .end local p0
    .local v0, iter:Ljava/util/Enumeration;
    :cond_0
    :goto_0
    invoke-interface {v0}, Ljava/util/Enumeration;->hasMoreElements()Z

    move-result v6

    if-nez v6, :cond_1

    .line 1372
    return-object v1

    .line 1354
    :cond_1
    invoke-interface {v0}, Ljava/util/Enumeration;->nextElement()Ljava/lang/Object;

    move-result-object v5

    check-cast v5, Ljava/lang/String;

    .line 1357
    .local v5, strCur:Ljava/lang/String;
    const/16 v6, 0x3d

    invoke-static {v5, v6}, Lcom/glympse/platform/common/Helpers;->StrSplit(Ljava/lang/String;C)Lcom/glympse/platform/GVector$Strings;

    move-result-object v3

    .line 1360
    .local v3, listParts:Lcom/glympse/platform/GVector$Strings;,"Lcom/glympse/platform/GVector$Strings;"
    const/4 v4, 0x0

    .line 1361
    .local v4, oNode:Lcom/glympse/platform/common/NameValueNode;
    invoke-virtual {v3}, Lcom/glympse/platform/GVector$Strings;->size()I

    move-result v6

    if-lez v6, :cond_2

    .line 1363
    new-instance v4, Lcom/glympse/platform/common/NameValueNode;

    .end local v4           #oNode:Lcom/glympse/platform/common/NameValueNode;
    invoke-direct {v4}, Lcom/glympse/platform/common/NameValueNode;-><init>()V

    .restart local v4       #oNode:Lcom/glympse/platform/common/NameValueNode;
    invoke-virtual {v1, v4}, Lcom/glympse/platform/GVector$NameValueNodes;->addElement(Ljava/lang/Object;)V

    .line 1364
    const/4 v6, 0x0

    invoke-virtual {v3, v6}, Lcom/glympse/platform/GVector$Strings;->elementAt(I)Ljava/lang/Object;

    move-result-object p0

    check-cast p0, Ljava/lang/String;

    invoke-static {p0}, Lcom/glympse/platform/common/Helpers;->UrlDecode(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v6

    iput-object v6, v4, Lcom/glympse/platform/common/NameValueNode;->m_strName:Ljava/lang/String;

    .line 1366
    :cond_2
    invoke-virtual {v3}, Lcom/glympse/platform/GVector$Strings;->size()I

    move-result v6

    if-le v6, v7, :cond_0

    .line 1368
    invoke-virtual {v3, v7}, Lcom/glympse/platform/GVector$Strings;->elementAt(I)Ljava/lang/Object;

    move-result-object p0

    check-cast p0, Ljava/lang/String;

    invoke-static {p0}, Lcom/glympse/platform/common/Helpers;->UrlDecode(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v6

    iput-object v6, v4, Lcom/glympse/platform/common/NameValueNode;->m_strValue:Ljava/lang/String;

    goto :goto_0
.end method

.method public static ReplaceAll(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    .locals 4
    .parameter "strSource"
    .parameter "strPattern"
    .parameter "strReplacement"

    .prologue
    .line 194
    invoke-static {p0}, Lcom/glympse/platform/common/Helpers;->IsEmpty(Ljava/lang/String;)Z

    move-result v3

    if-eqz v3, :cond_0

    .line 195
    const-string v3, ""

    .line 208
    :goto_0
    return-object v3

    .line 197
    :cond_0
    new-instance v2, Ljava/lang/StringBuffer;

    invoke-direct {v2}, Ljava/lang/StringBuffer;-><init>()V

    .line 198
    .local v2, oBuffer:Ljava/lang/StringBuffer;
    const/4 v0, -0x1

    .line 199
    .local v0, nIdx:I
    const/4 v1, 0x0

    .line 201
    .local v1, nPatIdx:I
    :goto_1
    invoke-virtual {p0, p1, v1}, Ljava/lang/String;->indexOf(Ljava/lang/String;I)I

    move-result v0

    const/4 v3, -0x1

    if-ne v0, v3, :cond_1

    .line 207
    invoke-static {p0, v1}, Lcom/glympse/platform/common/Helpers;->Substr(Ljava/lang/String;I)Ljava/lang/String;

    move-result-object v3

    invoke-virtual {v2, v3}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;

    .line 208
    invoke-virtual {v2}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String;

    move-result-object v3

    goto :goto_0

    .line 203
    :cond_1
    invoke-static {p0, v1, v0}, Lcom/glympse/platform/common/Helpers;->SubstrEnd(Ljava/lang/String;II)Ljava/lang/String;

    move-result-object v3

    invoke-virtual {v2, v3}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;

    .line 204
    invoke-virtual {v2, p2}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;

    .line 205
    invoke-virtual {p1}, Ljava/lang/String;->length()I

    move-result v3

    add-int v1, v0, v3

    goto :goto_1
.end method

.method public static SafeStr(Ljava/lang/String;)Ljava/lang/String;
    .locals 1
    .parameter "str"

    .prologue
    .line 151
    if-nez p0, :cond_0

    const-string v0, ""

    :goto_0
    return-object v0

    :cond_0
    move-object v0, p0

    goto :goto_0
.end method

.method public static SpeedToStr(FZ)Ljava/lang/String;
    .locals 12
    .parameter "fltSpeedMetersPerSecond"
    .parameter "fUnits"

    .prologue
    const/4 v11, 0x1

    const/4 v10, 0x0

    const-wide/high16 v8, 0x4024

    .line 364
    invoke-static {}, Lcom/glympse/platform/Platform;->instance()Lcom/glympse/platform/Platform;

    move-result-object v4

    if-eqz v4, :cond_2

    invoke-static {}, Lcom/glympse/platform/Platform;->instance()Lcom/glympse/platform/Platform;

    move-result-object v4

    iget-object v4, v4, Lcom/glympse/platform/Platform;->m_oConfig:Lcom/glympse/platform/Config;

    if-eqz v4, :cond_2

    invoke-static {}, Lcom/glympse/platform/Platform;->instance()Lcom/glympse/platform/Platform;

    move-result-object v4

    iget-object v4, v4, Lcom/glympse/platform/Platform;->m_oConfig:Lcom/glympse/platform/Config;

    invoke-virtual {v4}, Lcom/glympse/platform/Config;->IsMetric()Z

    move-result v4

    if-eqz v4, :cond_2

    .line 366
    float-to-double v4, p0

    const-wide v6, 0x400ccccccccccccdL

    mul-double v0, v4, v6

    .line 367
    .local v0, dSpeedKph:D
    new-instance v4, Ljava/lang/StringBuilder;

    cmpg-double v5, v0, v8

    if-gez v5, :cond_0

    move v5, v11

    :goto_0
    invoke-static {v0, v1, v5}, Lcom/glympse/platform/common/Helpers;->DoubleToStr(DI)Ljava/lang/String;

    move-result-object v5

    invoke-static {v5}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v5

    invoke-direct {v4, v5}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    if-eqz p1, :cond_1

    const-string v5, " km/h"

    :goto_1
    invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v4

    invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v4

    .line 372
    .end local v0           #dSpeedKph:D
    :goto_2
    return-object v4

    .restart local v0       #dSpeedKph:D
    :cond_0
    move v5, v10

    .line 367
    goto :goto_0

    :cond_1
    const-string v5, ""

    goto :goto_1

    .line 371
    .end local v0           #dSpeedKph:D
    :cond_2
    float-to-double v4, p0

    const-wide v6, 0x4001e53eda8648daL

    mul-double v2, v4, v6

    .line 372
    .local v2, dSpeedMph:D
    new-instance v4, Ljava/lang/StringBuilder;

    cmpg-double v5, v2, v8

    if-gez v5, :cond_3

    move v5, v11

    :goto_3
    invoke-static {v2, v3, v5}, Lcom/glympse/platform/common/Helpers;->DoubleToStr(DI)Ljava/lang/String;

    move-result-object v5

    invoke-static {v5}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v5

    invoke-direct {v4, v5}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    if-eqz p1, :cond_4

    const-string v5, " mph"

    :goto_4
    invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v4

    invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v4

    goto :goto_2

    :cond_3
    move v5, v10

    goto :goto_3

    :cond_4
    const-string v5, ""

    goto :goto_4
.end method

.method public static StrSplit(Ljava/lang/String;C)Lcom/glympse/platform/GVector$Strings;
    .locals 4
    .parameter "str"
    .parameter "cSeperator"

    .prologue
    .line 163
    new-instance v0, Lcom/glympse/platform/GVector$Strings;

    invoke-direct {v0}, Lcom/glympse/platform/GVector$Strings;-><init>()V

    .line 166
    .local v0, listValues:Lcom/glympse/platform/GVector$Strings;,"Lcom/glympse/platform/GVector$Strings;"
    const/4 v2, 0x0

    .line 170
    .local v2, nStart:I
    :goto_0
    invoke-virtual {p0, p1, v2}, Ljava/lang/String;->indexOf(II)I

    move-result v1

    .line 173
    .local v1, nFind:I
    if-ge v1, v2, :cond_0

    .line 186
    invoke-static {p0, v2}, Lcom/glympse/platform/common/Helpers;->Substr(Ljava/lang/String;I)Ljava/lang/String;

    move-result-object v3

    invoke-virtual {v0, v3}, Lcom/glympse/platform/GVector$Strings;->addElement(Ljava/lang/Object;)V

    .line 188
    return-object v0

    .line 179
    :cond_0
    invoke-static {p0, v2, v1}, Lcom/glympse/platform/common/Helpers;->SubstrEnd(Ljava/lang/String;II)Ljava/lang/String;

    move-result-object v3

    invoke-virtual {v0, v3}, Lcom/glympse/platform/GVector$Strings;->addElement(Ljava/lang/Object;)V

    .line 182
    add-int/lit8 v2, v1, 0x1

    .line 167
    goto :goto_0
.end method

.method public static Substr(Ljava/lang/String;I)Ljava/lang/String;
    .locals 1
    .parameter "strSource"
    .parameter "nStart"

    .prologue
    .line 1570
    invoke-virtual {p0, p1}, Ljava/lang/String;->substring(I)Ljava/lang/String;

    move-result-object v0

    return-object v0
.end method

.method public static SubstrEnd(Ljava/lang/String;II)Ljava/lang/String;
    .locals 1
    .parameter "strSource"
    .parameter "nStart"
    .parameter "nEnd"

    .prologue
    .line 1560
    invoke-virtual {p0}, Ljava/lang/String;->length()I

    move-result v0

    if-le p2, v0, :cond_0

    .line 1562
    invoke-virtual {p0}, Ljava/lang/String;->length()I

    move-result p2

    .line 1564
    :cond_0
    invoke-virtual {p0, p1, p2}, Ljava/lang/String;->substring(II)Ljava/lang/String;

    move-result-object v0

    return-object v0
.end method

.method public static SubstrLen(Ljava/lang/String;II)Ljava/lang/String;
    .locals 1
    .parameter "strSource"
    .parameter "nStart"
    .parameter "nLength"

    .prologue
    .line 1554
    add-int v0, p1, p2

    invoke-virtual {p0, p1, v0}, Ljava/lang/String;->substring(II)Ljava/lang/String;

    move-result-object v0

    return-object v0
.end method

.method public static UrlDecode(Ljava/lang/String;)Ljava/lang/String;
    .locals 7
    .parameter "strSrc"

    .prologue
    .line 1462
    if-nez p0, :cond_0

    .line 1464
    const/4 v6, 0x0

    .line 1511
    :goto_0
    return-object v6

    .line 1467
    :cond_0
    new-instance v5, Ljava/lang/StringBuffer;

    invoke-virtual {p0}, Ljava/lang/String;->length()I

    move-result v6

    invoke-direct {v5, v6}, Ljava/lang/StringBuffer;-><init>(I)V

    .line 1470
    .local v5, strbuf:Ljava/lang/StringBuffer;
    invoke-virtual {p0}, Ljava/lang/String;->length()I

    move-result v4

    .line 1471
    .local v4, nLenSrc:I
    const/4 v3, 0x0

    .local v3, nCur:I
    :goto_1
    if-lt v3, v4, :cond_1

    .line 1511
    invoke-virtual {v5}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String;

    move-result-object v6

    goto :goto_0

    .line 1474
    :cond_1
    invoke-virtual {p0, v3}, Ljava/lang/String;->charAt(I)C

    move-result v0

    .line 1477
    .local v0, c:C
    const/16 v6, 0x25

    if-ne v6, v0, :cond_3

    add-int/lit8 v6, v3, 0x2

    if-ge v6, v4, :cond_3

    .line 1480
    add-int/lit8 v6, v3, 0x1

    invoke-virtual {p0, v6}, Ljava/lang/String;->charAt(I)C

    move-result v6

    invoke-static {v6}, Lcom/glympse/platform/common/Helpers;->HexToInt(C)I

    move-result v1

    .line 1481
    .local v1, n1:I
    add-int/lit8 v6, v3, 0x2

    invoke-virtual {p0, v6}, Ljava/lang/String;->charAt(I)C

    move-result v6

    invoke-static {v6}, Lcom/glympse/platform/common/Helpers;->HexToInt(C)I

    move-result v2

    .line 1484
    .local v2, n2:I
    if-ltz v1, :cond_2

    if-ltz v2, :cond_2

    .line 1486
    shl-int/lit8 v6, v1, 0x4

    or-int/2addr v6, v2

    int-to-char v6, v6

    invoke-virtual {v5, v6}, Ljava/lang/StringBuffer;->append(C)Ljava/lang/StringBuffer;

    .line 1487
    add-int/lit8 v3, v3, 0x2

    .line 1471
    .end local v1           #n1:I
    .end local v2           #n2:I
    :goto_2
    add-int/lit8 v3, v3, 0x1

    goto :goto_1

    .line 1493
    .restart local v1       #n1:I
    .restart local v2       #n2:I
    :cond_2
    invoke-virtual {v5, v0}, Ljava/lang/StringBuffer;->append(C)Ljava/lang/StringBuffer;

    goto :goto_2

    .line 1498
    .end local v1           #n1:I
    .end local v2           #n2:I
    :cond_3
    const/16 v6, 0x2b

    if-ne v6, v0, :cond_4

    .line 1500
    const/16 v6, 0x20

    invoke-virtual {v5, v6}, Ljava/lang/StringBuffer;->append(C)Ljava/lang/StringBuffer;

    goto :goto_2

    .line 1506
    :cond_4
    invoke-virtual {v5, v0}, Ljava/lang/StringBuffer;->append(C)Ljava/lang/StringBuffer;

    goto :goto_2
.end method

.method public static UserIdToStr(J)Ljava/lang/String;
    .locals 7
    .parameter "lUserId"

    .prologue
    const/16 v6, 0x2d

    const-wide/16 v4, 0x1f

    .line 766
    new-instance v0, Ljava/lang/StringBuilder;

    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V

    .line 767
    sget-object v1, Lcom/glympse/platform/common/Helpers;->ms_acBase32Encode:[C

    const/16 v2, 0x3c

    shr-long v2, p0, v2

    and-long/2addr v2, v4

    long-to-int v2, v2

    aget-char v1, v1, v2

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;

    move-result-object v0

    .line 768
    sget-object v1, Lcom/glympse/platform/common/Helpers;->ms_acBase32Encode:[C

    const/16 v2, 0x37

    shr-long v2, p0, v2

    and-long/2addr v2, v4

    long-to-int v2, v2

    aget-char v1, v1, v2

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;

    move-result-object v0

    .line 769
    sget-object v1, Lcom/glympse/platform/common/Helpers;->ms_acBase32Encode:[C

    const/16 v2, 0x32

    shr-long v2, p0, v2

    and-long/2addr v2, v4

    long-to-int v2, v2

    aget-char v1, v1, v2

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;

    move-result-object v0

    .line 770
    sget-object v1, Lcom/glympse/platform/common/Helpers;->ms_acBase32Encode:[C

    shr-long v2, p0, v6

    and-long/2addr v2, v4

    long-to-int v2, v2

    aget-char v1, v1, v2

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;

    move-result-object v0

    .line 771
    invoke-virtual {v0, v6}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;

    move-result-object v0

    .line 772
    sget-object v1, Lcom/glympse/platform/common/Helpers;->ms_acBase32Encode:[C

    const/16 v2, 0x28

    shr-long v2, p0, v2

    and-long/2addr v2, v4

    long-to-int v2, v2

    aget-char v1, v1, v2

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;

    move-result-object v0

    .line 773
    sget-object v1, Lcom/glympse/platform/common/Helpers;->ms_acBase32Encode:[C

    const/16 v2, 0x23

    shr-long v2, p0, v2

    and-long/2addr v2, v4

    long-to-int v2, v2

    aget-char v1, v1, v2

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;

    move-result-object v0

    .line 774
    sget-object v1, Lcom/glympse/platform/common/Helpers;->ms_acBase32Encode:[C

    const/16 v2, 0x1e

    shr-long v2, p0, v2

    and-long/2addr v2, v4

    long-to-int v2, v2

    aget-char v1, v1, v2

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;

    move-result-object v0

    .line 775
    sget-object v1, Lcom/glympse/platform/common/Helpers;->ms_acBase32Encode:[C

    const/16 v2, 0x19

    shr-long v2, p0, v2

    and-long/2addr v2, v4

    long-to-int v2, v2

    aget-char v1, v1, v2

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;

    move-result-object v0

    .line 776
    invoke-virtual {v0, v6}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;

    move-result-object v0

    .line 777
    sget-object v1, Lcom/glympse/platform/common/Helpers;->ms_acBase32Encode:[C

    const/16 v2, 0x14

    shr-long v2, p0, v2

    and-long/2addr v2, v4

    long-to-int v2, v2

    aget-char v1, v1, v2

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;

    move-result-object v0

    .line 778
    sget-object v1, Lcom/glympse/platform/common/Helpers;->ms_acBase32Encode:[C

    const/16 v2, 0xf

    shr-long v2, p0, v2

    and-long/2addr v2, v4

    long-to-int v2, v2

    aget-char v1, v1, v2

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;

    move-result-object v0

    .line 779
    sget-object v1, Lcom/glympse/platform/common/Helpers;->ms_acBase32Encode:[C

    const/16 v2, 0xa

    shr-long v2, p0, v2

    and-long/2addr v2, v4

    long-to-int v2, v2

    aget-char v1, v1, v2

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;

    move-result-object v0

    .line 780
    sget-object v1, Lcom/glympse/platform/common/Helpers;->ms_acBase32Encode:[C

    const/4 v2, 0x5

    shr-long v2, p0, v2

    and-long/2addr v2, v4

    long-to-int v2, v2

    aget-char v1, v1, v2

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;

    move-result-object v0

    .line 781
    sget-object v1, Lcom/glympse/platform/common/Helpers;->ms_acBase32Encode:[C

    and-long v2, p0, v4

    long-to-int v2, v2

    aget-char v1, v1, v2

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;

    move-result-object v0

    .line 766
    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    return-object v0
.end method
